hi, Riegel I have noticed reader will return directly on fast-path in pthread_rwlock_common.c >* /* We have registered as a reader, so if we are in a read phase, we have *>* acquired a read lock. This is also the reader--reader fast-path. *>* Even if there is a primary writer, we just return. If writers are to *>* be preferred and we are the only active reader, we could try to enter a *>* write phase to let the writer proceed. This would be okay because we *>* cannot have acquired the lock previously as a reader (which could result *>* in deadlock if we would wait for the primary writer to run). However, *>* this seems to be a corner case and handling it specially not be worth the *>* complexity. */ *>* if (__glibc_likely ((r & PTHREAD_RWLOCK_WRPHASE) == 0)) *>* return 0; * However, there is a situation: main, thread_wr, thread_rd. SCHED_FIFO priority: main > thread_wr > thread_rd main first acquires read lock, then create thread_wr which will block on the lock. Next, main creates thread_rd. this thread will acquires read lock on fast-path even though it has a lower priority compared to thread_wr. You can get demo from the following repository:https://github.com/emscripten-core/posixtestsuite.git ./conformance/interfaces/pthread_rwlock_rdlock/2-1.c According to "man -M man-pages-posix-2017/ 3p pthread_rwlock_rdlock" >* DESCRIPTION *>* The pthread_rwlock_rdlock() function shall apply a read lock to the *>* read-write lock referenced by rwlock. The calling thread acquires the *>* read lock if a writer does not hold the lock and there are no *>* writers blocked on the lock. *>>* If the Thread Execution Scheduling option is supported, and the *>* threads involved in the lock are executing with the scheduling *>* policies SCHED_FIFO or SCHED_RR, the calling thread shall not acquire *>* the lock if a writer holds the lock or if writers of higher or equal *>* priority are blocked on the lock; other‐ wise, the calling thread *>* shall acquire the lock. * I was wondering that whether this , and whether this posix standard should be enforced. Thanks abushwang