--- src/winsup/cygwin/thread.cc.old 2012-08-17 01:34:45.000000000 +0200 +++ src/winsup/cygwin/thread.cc 2013-01-06 17:58:46.258963200 +0100 @@ -1427,7 +1427,7 @@ pthread_rwlock::tryrdlock () mtx.lock (); - if (writer || waiting_writers || lookup_reader (self)) + if (writer || waiting_writers) result = EBUSY; else {