diff options
| author | cinap_lenrek <cinap_lenrek@gmx.de> | 2013-05-27 01:17:11 +0200 |
|---|---|---|
| committer | cinap_lenrek <cinap_lenrek@gmx.de> | 2013-05-27 01:17:11 +0200 |
| commit | 44e4aad870a525a0a99c95a18f92bfc71768692f (patch) | |
| tree | 0102dbb05f29be0d304da0876c5952462d594dbc | |
| parent | 410d6bea6ac0ac8d57b6c531b8829152cb503e9d (diff) | |
| download | plan9front-44e4aad870a525a0a99c95a18f92bfc71768692f.tar.xz | |
kernel: dont copy fpsave on fork, simplify freeing waitq in pexit(), remove unused semlock from Proc sturcure
| -rw-r--r-- | sys/src/9/pc/trap.c | 4 | ||||
| -rw-r--r-- | sys/src/9/port/portdat.h | 1 | ||||
| -rw-r--r-- | sys/src/9/port/proc.c | 9 |
3 files changed, 4 insertions, 10 deletions
diff --git a/sys/src/9/pc/trap.c b/sys/src/9/pc/trap.c index 1746e963c..a2106df45 100644 --- a/sys/src/9/pc/trap.c +++ b/sys/src/9/pc/trap.c @@ -734,10 +734,6 @@ syscall(Ureg* ureg) scallnr = ureg->ax; up->scallnr = scallnr; - if(scallnr == RFORK && up->fpstate == FPactive){ - fpsave(&up->fpsave); - up->fpstate = FPinactive; - } spllo(); up->nerrlab = 0; diff --git a/sys/src/9/port/portdat.h b/sys/src/9/port/portdat.h index 92e5af666..7ead18a00 100644 --- a/sys/src/9/port/portdat.h +++ b/sys/src/9/port/portdat.h @@ -421,7 +421,6 @@ struct Segment Pte **map; int mapsize; Pte *ssegmap[SSEGMAPSIZE]; - Lock semalock; Sema sema; ulong mark; /* portcountrefs */ }; diff --git a/sys/src/9/port/proc.c b/sys/src/9/port/proc.c index 348ca1592..bbceff5ef 100644 --- a/sys/src/9/port/proc.c +++ b/sys/src/9/port/proc.c @@ -1067,7 +1067,7 @@ pexit(char *exitstr, int freemem) Proc *p; Segment **s, **es; long utime, stime; - Waitq *wq, *f, *next; + Waitq *wq; Fgrp *fgrp; Egrp *egrp; Rgrp *rgrp; @@ -1178,9 +1178,9 @@ pexit(char *exitstr, int freemem) wakeup(&up->waitr); unlock(&up->exl); - for(f = up->waitq; f; f = next) { - next = f->next; - free(f); + while((wq = up->waitq) != 0){ + up->waitq = wq->next; + free(wq); } /* release debuggers */ @@ -1374,7 +1374,6 @@ kproc(char *name, void (*func)(void *), void *arg) p->kp = 1; p->noswap = 1; - p->fpsave = up->fpsave; p->scallnr = up->scallnr; p->s = up->s; p->nerrlab = 0; |
