commit 9ac6ff2beb9d12729f016c4b397293bc4aa8bb61
parent 5d40ba2dbc1438674d24f8f1b0082f3cc6c105d6
Author: Jesus Galan Lopez (yiyus) <yiyu.jgl@gmail.com>
Date: Fri, 2 Jul 2010 08:24:23 +0200
fix double sleep bug (better now, ymmv)
Diffstat:
1 file changed, 8 insertions(+), 0 deletions(-)
diff --git a/src/9vx/sched.c b/src/9vx/sched.c
@@ -158,6 +158,14 @@ runproc(void)
m->machno, p->pid, p->text, kprocq.n, nrunproc);
unlock(&kprocq.lk);
punlock(&run);
+ /*
+ * To avoid the "double sleep" bug
+ * Full history begins at:
+ * http://9fans.net/archive/2010/06/71
+ * Who knows where it will end
+ */
+ while (p->mach)
+ sched_yield();
return p;
}