diff options
author | cinap_lenrek <cinap_lenrek@felloff.net> | 2013-11-22 22:29:31 +0100 |
---|---|---|
committer | cinap_lenrek <cinap_lenrek@felloff.net> | 2013-11-22 22:29:31 +0100 |
commit | 55d31f2cab0101dfbdeb2857e2fce2629080cf02 (patch) | |
tree | 90a653927ee803495d55ca049e45157cb0bf5339 /sys/src/9/pc/ethervt6102.c | |
parent | df6b68092cf2806d7c517e15d2db57b0b19a9788 (diff) |
pc kernel: kproc error and exit
catch the error() that can be thrown by sleep() and tsleep()
in kprocs.
add missing pexit() calls.
always set the freemem argument to pexit() from kproc otherwise
the process gets added to the broken list.
Diffstat (limited to 'sys/src/9/pc/ethervt6102.c')
-rw-r--r-- | sys/src/9/pc/ethervt6102.c | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/sys/src/9/pc/ethervt6102.c b/sys/src/9/pc/ethervt6102.c index 7b5fe980b..2e7b65c0a 100644 --- a/sys/src/9/pc/ethervt6102.c +++ b/sys/src/9/pc/ethervt6102.c @@ -440,6 +440,8 @@ vt6102lproc(void* arg) edev = arg; ctlr = edev->ctlr; + while(waserror()) + ; for(;;){ if(ctlr->mii == nil || ctlr->mii->curphy == nil) break; |