| 19 |
|
|
| 20 |
|
|
| 21 |
|
void |
| 22 |
+ |
quit(code) /* quit program */ |
| 23 |
+ |
int code; |
| 24 |
+ |
{ |
| 25 |
+ |
#ifdef MSTATS |
| 26 |
+ |
if (code == 2 && errno == ENOMEM) |
| 27 |
+ |
printmemstats(stderr); |
| 28 |
+ |
#endif |
| 29 |
+ |
if (ray_pnprocs > 0) /* close children if any */ |
| 30 |
+ |
ray_pclose(0); |
| 31 |
+ |
devclose(); |
| 32 |
+ |
exit(code); |
| 33 |
+ |
} |
| 34 |
+ |
|
| 35 |
+ |
|
| 36 |
+ |
void |
| 37 |
|
devopen( /* open device driver */ |
| 38 |
|
char *dname |
| 39 |
|
) |
| 411 |
|
growth += refine(p->kid+DR, pd-1); |
| 412 |
|
if (my < pframe.u) |
| 413 |
|
growth += refine(p->kid+UR, pd-1); |
| 399 |
– |
} |
| 400 |
– |
/* recompute sum */ |
| 401 |
– |
if (growth) { |
| 402 |
– |
setcolor(p->v, 0.0, 0.0, 0.0); |
| 403 |
– |
for (i = 0; i < 4; i++) |
| 404 |
– |
addcolor(p->v, p->kid[i].v); |
| 405 |
– |
scalecolor(p->v, 0.25); |
| 414 |
|
} |
| 415 |
|
return(growth); |
| 416 |
|
} |