K 10 svn:author V 7 davidxu K 8 svn:date V 27 2012-03-21T07:21:05.947543Z K 7 svn:log V 311 Use version 2 of semaphore provided by kernel umtx code, now if there is no waiters, we still increase and decrease count in user mode, once there is a waiter, sem_post will enter kernel to increase count and wake thread up, this is atomicy and allow us to gracefully destroy semaphore after sem_wait returned. END