Added memory barrier semantics to ngx_rwlock_unlock().
diff --git a/src/core/ngx_rwlock.c b/src/core/ngx_rwlock.c
index 905de78..0aed29a 100644
--- a/src/core/ngx_rwlock.c
+++ b/src/core/ngx_rwlock.c
@@ -94,7 +94,7 @@
     readers = *lock;
 
     if (readers == NGX_RWLOCK_WLOCK) {
-        *lock = 0;
+        (void) ngx_atomic_cmp_set(lock, NGX_RWLOCK_WLOCK, 0);
         return;
     }