Fixes bug with semaphores and futexes
authorBarret Rhoden <brho@cs.berkeley.edu>
Fri, 21 Dec 2012 04:15:28 +0000 (20:15 -0800)
committerBarret Rhoden <brho@cs.berkeley.edu>
Fri, 21 Dec 2012 04:15:28 +0000 (20:15 -0800)
commitd18b7ba748e8a88b54040ac5771fcda29c123e5d
treeb5cdc748305e5b14e2ea55cc1c4e21890cbe2d0c
parent2c2cac690d278ff5fc347832b7bae7db06e1567b
Fixes bug with semaphores and futexes

All code using the pthread 2LS that calls uthread_yield() needs to call
the pthread generic yield helper.  It was static, but since we have sync
methods in other files (sem/futex), we should have it available.

omp_hello was getting corrupt lists, since simply putting it on the
sem's queue without first removing it from the active list ends up with
the threads being on multiple lists.  Once again, the active list keeps
us honest.
user/pthread/futex.c
user/pthread/pthread.c
user/pthread/pthread.h
user/pthread/semaphore.c