--- ray/src/util/rtcontrib.c 2005/10/11 19:02:51 1.36 +++ ray/src/util/rtcontrib.c 2005/10/21 01:12:59 1.39 @@ -1,5 +1,5 @@ #ifndef lint -static const char RCSid[] = "$Id: rtcontrib.c,v 1.36 2005/10/11 19:02:51 greg Exp $"; +static const char RCSid[] = "$Id: rtcontrib.c,v 1.39 2005/10/21 01:12:59 greg Exp $"; #endif /* * Gather rtrace output to compute contributions from particular sources @@ -325,6 +325,9 @@ main(int argc, char *argv[]) rtargv[rtargc++] = argv[++i]; addmodfile(argv[i], curout, binval, bincnt); continue; + case 'P': /* persist file */ + error(USER, "persist file is automatic"); + break; } rtargv[rtargc++] = argv[i]; /* assume rtrace option */ } @@ -1076,12 +1079,12 @@ trace_contribs(FILE *fin) writebuf(rtp->pd.w, inpbuf, iblen); } else { /* else bypass dummy ray */ queue_raytree(rtp); /* empty tree */ - if ((yres <= 0) & (waitflush > 0)) + if ((yres <= 0) | (waitflush > 1)) waitflush = 1; /* flush after this */ } - if (raysleft && !--raysleft) - break; process_queue(); /* catch up with results */ + if (raysleft && !--raysleft) + break; /* preemptive EOI */ } while (wait_rproc() != NULL) /* process outstanding rays */ process_queue();