diff options
author | cinap_lenrek <cinap_lenrek@felloff.net> | 2013-11-22 22:56:34 +0100 |
---|---|---|
committer | cinap_lenrek <cinap_lenrek@felloff.net> | 2013-11-22 22:56:34 +0100 |
commit | 98f47d5867cbbaa06f2c9080c301c9191e196205 (patch) | |
tree | b3cd1e439a63619058ea0c6f58824ff0aaf71dce /sys/src/9/ip | |
parent | 55d31f2cab0101dfbdeb2857e2fce2629080cf02 (diff) |
kernel: more kproc pexit() and sleep error handling
Diffstat (limited to 'sys/src/9/ip')
-rw-r--r-- | sys/src/9/ip/il.c | 2 | ||||
-rw-r--r-- | sys/src/9/ip/rudp.c | 2 | ||||
-rw-r--r-- | sys/src/9/ip/tcp.c | 3 |
3 files changed, 7 insertions, 0 deletions
diff --git a/sys/src/9/ip/il.c b/sys/src/9/ip/il.c index c6e36e0ef..478fd4101 100644 --- a/sys/src/9/ip/il.c +++ b/sys/src/9/ip/il.c @@ -1145,6 +1145,8 @@ ilackproc(void *x) il = x; + while(waserror()) + ; loop: tsleep(&up->sleep, return0, 0, Iltickms); for(s = il->conv; s && *s; s++) { diff --git a/sys/src/9/ip/rudp.c b/sys/src/9/ip/rudp.c index f3e205aba..8f3de5e6d 100644 --- a/sys/src/9/ip/rudp.c +++ b/sys/src/9/ip/rudp.c @@ -733,6 +733,8 @@ relackproc(void *a) rudp = (Proto *)a; + while(waserror()) + ; loop: tsleep(&up->sleep, return0, 0, Rudptickms); diff --git a/sys/src/9/ip/tcp.c b/sys/src/9/ip/tcp.c index 6099b0308..d1addc9d7 100644 --- a/sys/src/9/ip/tcp.c +++ b/sys/src/9/ip/tcp.c @@ -747,6 +747,9 @@ tcpackproc(void *a) tcp = a; priv = tcp->priv; + while(waserror()) + ; + for(;;) { tsleep(&up->sleep, return0, 0, MSPTICK); |