In pipe_exit_routine in vms/vms.c, mark a subprocess we've deleted
Craig A. Berry [Mon, 6 Nov 2006 01:37:13 +0000 (01:37 +0000)]
as done.  Courtesy of Scott Lepage.

p4raw-id: //depot/perl@29205

vms/vms.c

index e4fe676..89d7695 100644 (file)
--- a/vms/vms.c
+++ b/vms/vms.c
@@ -2892,6 +2892,7 @@ pipe_exit_routine(pTHX)
       if (!info->done) {  /* We tried to be nice . . . */
         sts = sys$delprc(&info->pid,0);
         if (!(sts&1) && sts != SS$_NONEXPR) _ckvmssts_noperl(sts); 
+        info->done = 1;  /* sys$delprc is as done as we're going to get. */
       }
       _ckvmssts_noperl(sys$setast(1));
       info = info->next;