]> git.kaiwu.me - nginx.git/commitdiff
compatibility with Tru64 UNIX: fcntl(F_SETLK, F_WRLCK) returns EINVAL if busy
authorIgor Sysoev <igor@sysoev.ru>
Fri, 13 Mar 2009 14:53:30 +0000 (14:53 +0000)
committerIgor Sysoev <igor@sysoev.ru>
Fri, 13 Mar 2009 14:53:30 +0000 (14:53 +0000)
src/core/ngx_shmtx.h

index e6fb6aa319e88c4447bb9bb38ab03879b08acef1..57fe0b9f5ae6f70b26a924eec6330f239b1c25f1 100644 (file)
@@ -57,7 +57,15 @@ ngx_shmtx_trylock(ngx_shmtx_t *mtx)
         return 0;
     }
 
-    ngx_log_abort(err, ngx_trylock_fd_n " failed");
+#if __osf__ /* Tru64 UNIX */
+
+    if (err == NGX_EACCESS) {
+        return 0;
+    }
+
+#endif
+
+    ngx_log_abort(err, ngx_trylock_fd_n " %s failed", mtx->name);
 
     return 0;
 }
@@ -74,7 +82,7 @@ ngx_shmtx_lock(ngx_shmtx_t *mtx)
         return;
     }
 
-    ngx_log_abort(err, ngx_lock_fd_n " failed");
+    ngx_log_abort(err, ngx_lock_fd_n " %s failed", mtx->name);
 }
 
 
@@ -89,7 +97,7 @@ ngx_shmtx_unlock(ngx_shmtx_t *mtx)
         return;
     }
 
-    ngx_log_abort(err, ngx_unlock_fd_n " failed");
+    ngx_log_abort(err, ngx_unlock_fd_n " %s failed", mtx->name);
 }