diff options
author | cinap_lenrek <cinap_lenrek@felloff.net> | 2020-03-08 20:55:58 +0100 |
---|---|---|
committer | cinap_lenrek <cinap_lenrek@felloff.net> | 2020-03-08 20:55:58 +0100 |
commit | 11628e90fb85137a3f02e4ad5c343c15a90846b5 (patch) | |
tree | 28d2960906de353016a5d2cb26ae8994e19d2138 | |
parent | e652be5559a70aa339a3952889f0421b9dda5ceb (diff) | |
parent | 28f3a3aad8d2d73010f1c81080e92f71903f4556 (diff) |
merge
-rwxr-xr-x | sys/src/9/boot/local.rc | 2 | ||||
-rwxr-xr-x | sys/src/9/boot/nusbrc | 2 | ||||
-rw-r--r-- | sys/src/9/port/devshr.c | 6 |
3 files changed, 8 insertions, 2 deletions
diff --git a/sys/src/9/boot/local.rc b/sys/src/9/boot/local.rc index c99981042..fcfe5388b 100755 --- a/sys/src/9/boot/local.rc +++ b/sys/src/9/boot/local.rc @@ -45,7 +45,7 @@ fn configlocal{ } fn bootfs{ - {$1 -s -f $*(2-) &} <[0=1] | echo 0 >/srv/boot + {$1 -s -f $*(2-) <[0=1] &} | echo 0 >/srv/boot } fn connectlocal{ diff --git a/sys/src/9/boot/nusbrc b/sys/src/9/boot/nusbrc index be7629c26..bf3c311e0 100755 --- a/sys/src/9/boot/nusbrc +++ b/sys/src/9/boot/nusbrc @@ -45,7 +45,7 @@ if(! nusb/usbd) diskparts $dev for(part in $dev/dos* $dev/9fat* $dev/data) if(test -r $part && ~ `{fstype $part} dos) { mkdir -m 0700 '#σc/'^$dev || exit - {dossrv -s -f $part &} <[0=1] | + {dossrv -s -f $part <[0=1] &} | echo 0 >'#σc/'^$dev/dos exit } diff --git a/sys/src/9/port/devshr.c b/sys/src/9/port/devshr.c index bc7677210..96e319221 100644 --- a/sys/src/9/port/devshr.c +++ b/sys/src/9/port/devshr.c @@ -554,6 +554,7 @@ shrremove(Chan *c) Sch *sch; Mpt *mpt; Mhead *h; + Chan *bc; sch = tosch(c); if(waserror()){ @@ -593,6 +594,7 @@ shrremove(Chan *c) qunlock(&shrslk); break; case Qcmpt: + bc = nil; mpt = sch->mpt; m = &mpt->m; h = &shr->umh; @@ -601,10 +603,14 @@ shrremove(Chan *c) if(*ml == m){ *ml = m->next; m->next = nil; + bc = m->to; + m->to = nil; putmpt(mpt); break; } wunlock(&h->lock); + if(bc != nil) + cclose(bc); break; } poperror(); |