| plan 9 kernel history: overview | file list | diff list |
1998/0903/port/sysproc.c (diff list | history)
| 1998/0903/sys/src/9/port/sysproc.c:92,100 – 1999/0108/sys/src/9/port/sysproc.c:92,107 (short | long | prev | next) | ||
| 1990/0227 | ||
| 1991/0705 | /* Make a new set of memory segments */ | |
| 1992/0501 | n = flag & RFMEM; | |
| 1999/0108 | qlock(&p->seglock); if(waserror()){ qunlock(&p->seglock); nexterror(); } | |
| 1991/0705 | for(i = 0; i < NSEG; i++) | |
| 1993/0501 | if(up->seg[i]) p->seg[i] = dupseg(up->seg, i, n); | |
| 1999/0108 | qunlock(&p->seglock); poperror(); | |
| 1991/0705 | ||
| 1992/0428 | /* File descriptors */ | |
| 1992/0501 | if(flag & (RFFDG|RFCFDG)) { | |
| 1998/0903/sys/src/9/port/sysproc.c:304,309 – 1999/0108/sys/src/9/port/sysproc.c:311,321 | ||
| 1991/0523 | if(spage > TSTKSIZ) | |
| 1992/0114 | error(Enovmem); | |
| 1991/0522 | ||
| 1999/0108 | qlock(&up->seglock); if(waserror()){ qunlock(&up->seglock); nexterror(); } | |
| 1993/0501 | up->seg[ESEG] = newseg(SG_STACK, TSTKTOP-USTKSIZE, USTKSIZE/BY2PG); | |
| 1990/0227 | /* | |
| 1998/0903/sys/src/9/port/sysproc.c:383,388 – 1999/0108/sys/src/9/port/sysproc.c:395,402 | ||
| 1993/0501 | s = up->seg[ESEG]; up->seg[ESEG] = 0; up->seg[SSEG] = s; | |
| 1999/0108 | qunlock(&up->seglock); poperror(); | |
| 1991/0705 | s->base = USTKTOP-USTKSIZE; s->top = USTKTOP; | |
| 1993/0502 | relocateseg(s, USTKTOP-TSTKTOP); | |
| 1998/0903/sys/src/9/port/sysproc.c:587,592 – 1999/0108/sys/src/9/port/sysproc.c:601,612 | ||
| 1993/0501 | ulong addr; | |
| 1991/0705 | Segment *s; | |
| 1999/0108 | qlock(&up->seglock); if(waserror()){ qunlock(&up->seglock); nexterror(); } | |
| 1991/0723 | s = 0; | |
| 1993/0501 | addr = arg[0]; | |
| 1991/0705 | for(i = 0; i < NSEG; i++) | |
| 1998/0903/sys/src/9/port/sysproc.c:609,614 – 1999/0108/sys/src/9/port/sysproc.c:629,636 | ||
| 1993/0501 | up->seg[i] = 0; | |
| 1991/0705 | qunlock(&s->lk); putseg(s); | |
| 1999/0108 | qunlock(&up->seglock); poperror(); | |
| 1991/0705 | /* Ensure we flush any entries from the lost segment */ flushmmu(); | |