diff options
| author | Maxim Dounin <mdounin@mdounin.ru> | 2012-06-04 11:10:36 +0000 |
|---|---|---|
| committer | Maxim Dounin <mdounin@mdounin.ru> | 2012-06-04 11:10:36 +0000 |
| commit | 9732c655154b182497fb47fa47fbba69ffd25897 (patch) | |
| tree | 2539b5c4b8cb248d9212579cc511a218f44fd929 /src/os/win32/ngx_errno.h | |
| parent | 69d94a9c6deae87f75e4bce4fe12b92a6a0e2a27 (diff) | |
| download | nginx-9732c655154b182497fb47fa47fbba69ffd25897.tar.gz nginx-9732c655154b182497fb47fa47fbba69ffd25897.tar.bz2 | |
Merge of r4619: accept moderation on EMFILE/ENFILE.
In case of EMFILE/ENFILE returned from accept() we disable accept events,
and (in case of no accept mutex used) arm timer to re-enable them later.
With accept mutex we just drop it, and rely on normal accept mutex handling
to re-enable accept events once it's acquired again.
As we now handle errors in question, logging level was changed to "crit"
(instead of "alert" used for unknown errors).
Note: the code might call ngx_enable_accept_events() multiple times if
there are many listen sockets. The ngx_enable_accept_events() function was
modified to check if connection is already active (via c->read->active) and
skip it then, thus making multiple calls safe.
Diffstat (limited to '')
| -rw-r--r-- | src/os/win32/ngx_errno.h | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/src/os/win32/ngx_errno.h b/src/os/win32/ngx_errno.h index 91b50db8c..5b11a65b0 100644 --- a/src/os/win32/ngx_errno.h +++ b/src/os/win32/ngx_errno.h @@ -54,6 +54,8 @@ typedef DWORD ngx_err_t; #define NGX_EALREADY WSAEALREADY #define NGX_EINVAL WSAEINVAL +#define NGX_EMFILE WSAEMFILE +#define NGX_ENFILE WSAEMFILE u_char *ngx_strerror(ngx_err_t err, u_char *errstr, size_t size); |
