| 21 |
|
|
| 22 |
|
extern char *progname; /* global argv[0] */ |
| 23 |
|
|
| 24 |
– |
extern char *shm_boundary; /* boundary of shared memory */ |
| 25 |
– |
|
| 24 |
|
/* persistent processes define */ |
| 25 |
|
#ifdef F_SETLKW |
| 26 |
|
#define PERSIST 1 /* normal persist */ |
| 451 |
|
dup2(duped1, fileno(stdout)); |
| 452 |
|
close(duped1); |
| 453 |
|
if (persist == PARALLEL) { /* multiprocessing */ |
| 454 |
< |
preload_objs(); /* preload scene */ |
| 457 |
< |
shm_boundary = (char *)malloc(16); |
| 458 |
< |
strcpy(shm_boundary, "SHM_BOUNDARY"); |
| 454 |
> |
cow_memshare(); /* preloads scene */ |
| 455 |
|
while ((rval=fork()) == 0) { /* keep on forkin' */ |
| 456 |
|
pflock(1); |
| 457 |
|
pfhold(); |