about summary refs log tree commit diff
path: root/src/libstd/sys
diff options
context:
space:
mode:
authorBaoshan Pang <baoshan.pang@windriver.com>2019-10-07 09:59:08 -0700
committerBaoshan <pangbw@gmail.com>2019-10-08 18:57:17 -0700
commit175db95b3d98b1874b9d49a5e79a0755aed3e8fa (patch)
tree38c5725adb3d94f0cc585758524a5d943da74e6c /src/libstd/sys
parent46bf6ad416cf922c410fed11e9f73c03c0015bcd (diff)
downloadrust-175db95b3d98b1874b9d49a5e79a0755aed3e8fa.tar.gz
rust-175db95b3d98b1874b9d49a5e79a0755aed3e8fa.zip
add checking (r == 0)
Diffstat (limited to 'src/libstd/sys')
-rw-r--r--src/libstd/sys/vxworks/rwlock.rs2
1 files changed, 1 insertions, 1 deletions
diff --git a/src/libstd/sys/vxworks/rwlock.rs b/src/libstd/sys/vxworks/rwlock.rs
index 718f422ed11..19b123f2b61 100644
--- a/src/libstd/sys/vxworks/rwlock.rs
+++ b/src/libstd/sys/vxworks/rwlock.rs
@@ -25,7 +25,7 @@ impl RWLock {
         let r = libc::pthread_rwlock_rdlock(self.inner.get());
         if r == libc::EAGAIN {
             panic!("rwlock maximum reader count exceeded");
-        } else if r == libc::EDEADLK || *self.write_locked.get() {
+        } else if r == libc::EDEADLK || (r == 0 && *self.write_locked.get()) {
             if r == 0 {
                 self.raw_unlock();
             }