[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
more diffs...
sleep() can also wake up because of signals:
Index: bios.c
@@ -219,7 +219,7 @@
h = dev-SERDEV;
if (h >= 0 && h < btty_max) {
- if (!BCONSTAT(dev))
+ while (!BCONSTAT(dev))
sleep(IO_Q, (long)&bttys[h]);
} else if (dev > 0) {
unsigned long tick;
and i think we no longer need these...
Index: pipefs.c
@@ -620,7 +623,9 @@
/* wake up any readers, and wait for them to gobble some data */
if (p->rsel) {
wakeselect(p->rsel);
+#if 0
p->rsel = 0;
+#endif
}
wake(IO_Q, (long)p);
sleep(IO_Q, (long)p);
@@ -657,7 +662,9 @@
/* is someone select()ing the other end of the pipe for reading? */
if (p->rsel) {
wakeselect(p->rsel);
+#if 0
p->rsel = 0;
+#endif
}
wake(IO_Q, (long)p); /* readers may continue */
DEBUG(("pipe_write: sleep on %lx", p));
@@ -669,7 +676,9 @@
if (bytes_written > 0) {
if (p->rsel) {
wakeselect(p->rsel);
+#if 0
p->rsel = 0;
+#endif
}
wake(IO_Q, (long)p); /* maybe someone wants this data */
}
@@ -722,7 +731,9 @@
/* is someone select()ing the other end of the pipe for writing? */
if (p->wsel) {
wakeselect(p->wsel);
+#if 0
p->wsel = 0;
+#endif
}
wake(IO_Q, (long)p); /* writers may continue */
sleep(IO_Q, (long)p);
@@ -731,7 +742,9 @@
if (bytes_read > 0) {
if (p->wsel) {
wakeselect(p->wsel);
+#if 0
p->wsel = 0;
+#endif
}
wake(IO_Q, (long)p); /* wake writers */
}
--
J"urgen Lock / nox@jelal.north.de / UUCP: ..!uunet!unido!uniol!jelal!nox
...ohne Gewehr
PGP public key fingerprint = 8A 18 58 54 03 7B FC 12 1F 8B 63 C7 19 27 CF DA