Fixes race with SC_DONE and event overflow (XCC)
authorBarret Rhoden <brho@cs.berkeley.edu>
Mon, 6 Jun 2011 19:11:39 +0000 (12:11 -0700)
committerKevin Klues <klueska@cs.berkeley.edu>
Thu, 3 Nov 2011 00:36:04 +0000 (17:36 -0700)
commit6aa8067d5ca31828821e5d4576db5e40a793a44c
tree9343880a9bf78448f81841b1873a30c753b9b6ac
parent07f034b593666a79b324264381e1937c3cc97567
Fixes race with SC_DONE and event overflow (XCC)

In VMs, or possibly with poor interrupt timing, the kernel would be
delayed such that the 2LS would deregister and handle all events before
the kernel would send an ev_msg, causing a uthread to be restarted
twice.

Rebuild your cross-compiler/glibc.
Documentation/async_events.txt
kern/include/ros/syscall.h
kern/include/syscall.h
kern/src/syscall.c
user/parlib/include/uthread.h
user/parlib/uthread.c
user/pthread/pthread.c