comparison src/core/ngx_shmtx.h @ 384:09b703ae3ba5 NGINX_0_6_36

nginx 0.6.36 *) Change: now the "Invalid argument" error returned by setsockopt(TCP_NODELAY) on Solaris, is ignored. *) Change: now POSTs without "Content-Length" header line are allowed. *) Feature: the "try_files" directive. *) Feature: the --with-pcre option in the configure. *) Feature: the "if_modified_since" directive. *) Feature: the "$cookie_..." variables. *) Feature: the "$arg_..." variables. *) Bugfix: compatibility with Tru64 UNIX. Thanks to Dustin Marquess. *) Bugfix: a "ssl_engine" directive did not use a SSL-accelerator for asymmetric ciphers. Thanks to Marcin Gozdalik. *) Bugfix: in a redirect rewrite directive original arguments were concatenated with new arguments by a "?" rather than an "&"; the bug had appeared in 0.1.18. Thanks to Maxim Dounin. *) Bugfix: nginx could not be built on AIX. *) Bugfix: a double response might be returned if the epoll or rtsig methods are used and a redirect was returned to a request with body. Thanks to Eden Li. *) Bugfix: a segmentation fault might occur in worker process if "resolver" directive was used in SMTP proxy. *) Bugfix: fastcgi_store stored files not always. *) Bugfix: nginx did not process a FastCGI server response, if the server send too many messages to stderr before response.
author Igor Sysoev <http://sysoev.ru>
date Thu, 02 Apr 2009 00:00:00 +0400
parents 5bef04fc3fd5
children
comparison
equal deleted inserted replaced
383:3d40b0260a84 384:09b703ae3ba5
55 55
56 if (err == NGX_EAGAIN) { 56 if (err == NGX_EAGAIN) {
57 return 0; 57 return 0;
58 } 58 }
59 59
60 ngx_log_abort(err, ngx_trylock_fd_n " failed"); 60 #if __osf__ /* Tru64 UNIX */
61
62 if (err == NGX_EACCESS) {
63 return 0;
64 }
65
66 #endif
67
68 ngx_log_abort(err, ngx_trylock_fd_n " %s failed", mtx->name);
61 69
62 return 0; 70 return 0;
63 } 71 }
64 72
65 73
72 80
73 if (err == 0) { 81 if (err == 0) {
74 return; 82 return;
75 } 83 }
76 84
77 ngx_log_abort(err, ngx_lock_fd_n " failed"); 85 ngx_log_abort(err, ngx_lock_fd_n " %s failed", mtx->name);
78 } 86 }
79 87
80 88
81 static ngx_inline void 89 static ngx_inline void
82 ngx_shmtx_unlock(ngx_shmtx_t *mtx) 90 ngx_shmtx_unlock(ngx_shmtx_t *mtx)
87 95
88 if (err == 0) { 96 if (err == 0) {
89 return; 97 return;
90 } 98 }
91 99
92 ngx_log_abort(err, ngx_unlock_fd_n " failed"); 100 ngx_log_abort(err, ngx_unlock_fd_n " %s failed", mtx->name);
93 } 101 }
94 102
95 103
96 void ngx_shmtx_destory(ngx_shmtx_t *mtx); 104 void ngx_shmtx_destory(ngx_shmtx_t *mtx);
97 105