ViewVC Help
View File | Revision Log | Show Annotations | Download File | Root Listing
root/radiance/ray/src/rt/rc3.c
(Generate patch)

Comparing ray/src/rt/rc3.c (file contents):
Revision 2.11 by greg, Sat Jun 16 17:30:13 2012 UTC vs.
Revision 2.12 by greg, Tue Jun 19 00:12:08 2012 UTC

# Line 315 | Line 315 | in_rchild()
315  
316   /* Close child processes */
317   void
318 < end_children()
318 > end_children(int immed)
319   {
320          int     status;
321          
322          while (nchild > 0) {
323                  nchild--;
324 <                if ((status = close_process(&kida[nchild].pr)) > 0) {
324 >                if (immed)              /* error mode -- quick exit */
325 >                        kill(kida[nchild].pr.pid, SIGKILL);
326 >                if ((status = close_process(&kida[nchild].pr)) > 0 && !immed) {
327                          sprintf(errmsg,
328                                  "rendering process returned bad status (%d)",
329                                          status);
# Line 543 | Line 545 | feeder_loop()
545          }
546          if (recover)                            /* and from before? */
547                  queue_modifiers();
548 <        end_children();                         /* free up file descriptors */
548 >        end_children(0);                        /* free up file descriptors */
549          for (i = 0; i < nmods; i++)
550                  mod_output(out_bq->mca[i]);     /* output accumulated record */
551          end_record();

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines