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.12 by greg, Tue Jun 19 00:12:08 2012 UTC vs.
Revision 2.16 by greg, Fri Jun 22 21:58:45 2012 UTC

# Line 6 | Line 6 | static const char RCSid[] = "$Id$";
6   * Controlling process for multiple children
7   */
8  
9 + #include <signal.h>
10   #include "rcontrib.h"
10 #include "platform.h"
11 #include "rtprocess.h"
11   #include "selcall.h"
12  
13   #define MAXIQ           (int)(PIPE_BUF/(sizeof(FVECT)*2))
# Line 321 | Line 320 | end_children(int immed)
320          
321          while (nchild > 0) {
322                  nchild--;
323 + #ifdef SIGKILL
324                  if (immed)              /* error mode -- quick exit */
325                          kill(kida[nchild].pr.pid, SIGKILL);
326 + #endif
327                  if ((status = close_process(&kida[nchild].pr)) > 0 && !immed) {
328                          sprintf(errmsg,
329                                  "rendering process returned bad status (%d)",
# Line 539 | Line 540 | feeder_loop()
540                  lastray += kida[i].nr = ninq;
541                  ninq = 0;
542          }
543 <        for (i = nchild; i--; ) {               /* get results */
544 <                close(kida[i].pr.w);
543 >        memset(orgdir, 0, sizeof(FVECT)*2);     /* get results */
544 >        for (i = nchild; i--; ) {
545 >                writebuf(kida[i].pr.w, (char *)orgdir, sizeof(FVECT)*2);
546                  queue_results(i);
547          }
548          if (recover)                            /* and from before? */

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines