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

Comparing ray/src/rt/rxcmain.cpp (file contents):
Revision 2.11 by greg, Mon Dec 23 16:15:38 2024 UTC vs.
Revision 2.12 by greg, Mon Dec 23 18:14:20 2024 UTC

# Line 358 | Line 358 | main(int argc, char *argv[])
358          if (rval >= myRCmanager.GetRowMax()) {
359                  error(WARNING, "nothing left to compute");
360                  quit(0);
361 <        }                               // add processes as requested
362 <        myRCmanager.SetThreadCount(nproc);
363 <
361 >        }
362          rxcontrib(rval);                /* trace ray contributions (loop) */
363  
364          quit(0);        /* exit clean */
# Line 499 | Line 497 | rxcontrib(const int rstart)
497                  }
498                  last_report = tstart = time(0);
499          }
500 +                                        // start children as requested
501 +        myRCmanager.SetThreadCount(nproc);
502 +
503          while (r < totRows) {           // loop until done
504                  time_t  tnow;
505                  if (!getRayBundle(odarr))
# Line 509 | Line 510 | rxcontrib(const int rstart)
510                  if (report_intvl <= 0)
511                          continue;
512                  tnow = time(0);         // time to report progress?
513 <                if (r == totRows)
514 <                        myRCmanager.FlushQueue();
513 >                if (r == totRows)       // finished?
514 >                        myRCmanager.SetThreadCount(1);
515                  else if (tnow < last_report+report_intvl)
516                          continue;
517                  sprintf(errmsg, "%.2f%% done after %.3f hours\n",

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines