summaryrefslogtreecommitdiff
path: root/sys/src/9/ip
diff options
context:
space:
mode:
authorcinap_lenrek <cinap_lenrek@felloff.net>2013-11-22 22:56:34 +0100
committercinap_lenrek <cinap_lenrek@felloff.net>2013-11-22 22:56:34 +0100
commit98f47d5867cbbaa06f2c9080c301c9191e196205 (patch)
treeb3cd1e439a63619058ea0c6f58824ff0aaf71dce /sys/src/9/ip
parent55d31f2cab0101dfbdeb2857e2fce2629080cf02 (diff)
kernel: more kproc pexit() and sleep error handling
Diffstat (limited to 'sys/src/9/ip')
-rw-r--r--sys/src/9/ip/il.c2
-rw-r--r--sys/src/9/ip/rudp.c2
-rw-r--r--sys/src/9/ip/tcp.c3
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);