Add basic timeout functionality to pthread futexes
authorKevin Klues <klueska@cs.berkeley.edu>
Tue, 30 Jul 2013 03:28:56 +0000 (20:28 -0700)
committerKevin Klues <klueska@cs.berkeley.edu>
Tue, 30 Jul 2013 04:32:45 +0000 (21:32 -0700)
commita6f23e5562cefd5b2b967864128229ff753d4a20
tree309d9e23e20ddce2e795df075c7fc25cdcecd92e
parentc86646a01a6c606b8f87bfa291c70923b6081553
Add basic timeout functionality to pthread futexes

In the current implementation we simply launch a helper pthread that
calls sys_block(1000) in a tight loop.  It wakes up every millisecond
and checks if there are any futexes whose timeouts have expired and it
wakes them up. If there are no futexes waiting on a timer, we park the
pthread and wait until another futex is waited on that has timeout.
user/pthread/futex.c