add mutex_unlock_and_sleep()
Add posix conforming rwlock