summaryrefslogtreecommitdiffhomepage
path: root/src/event/modules/ngx_kqueue_module.c (follow)
AgeCommit message (Collapse)AuthorFilesLines
2025-12-23Events: compatibility with NetBSD 10.0 in kqueue.Sergey Kandaurov1-2/+2
The kevent udata field was changed from intptr_t to "void *", similar to other BSDs and Darwin. The NGX_KQUEUE_UDATA_T macro is adjusted to reflect that change, fixing -Werror=int-conversion errors.
2025-12-23Configure: set NGX_KQUEUE_UDATA_T at compile time.Sergey Kandaurov1-0/+9
The NGX_KQUEUE_UDATA_T macro is used to compensate the incompatible kqueue() API in NetBSD, it doesn't really belong to feature tests. The change limits the macro visibility to the kqueue event module. Moving from autotests also simplifies testing a particular NetBSD version as seen in a subsequent change.
2025-12-23Events: fixed -Wzero-as-null-pointer-constant warnings in kqueue.Sergey Kandaurov1-2/+2
The kevent udata field is special in that we maintain compatibility with NetBSD versions that predate using the "void *" type. The fix is to cast to intermediate uintptr_t that is casted back to "void *" where appropriate.
2017-03-02Added missing static specifiers.Eran Kornblau1-1/+1
2016-03-31Events: fixed logging.Sergey Kandaurov1-8/+15
2015-03-20Removed unix ngx_threaded and related ngx_process_changes.Ruslan Ermilov1-86/+9
2015-03-20Removed old pthread implementation.Ruslan Ermilov1-50/+0
2015-03-14Events: implemented kqueue notification mechanism.Valentin Bartenev1-0/+76
2015-03-14Thread pools implementation.Valentin Bartenev1-0/+1
2015-03-04Renamed NGX_THREADS to NGX_OLD_THREADS because of deprecation.Ruslan Ermilov1-3/+3
It's mostly dead code and the original idea of worker threads has been rejected.
2014-09-01Events: processing of posted events changed from LIFO to FIFO.Valentin Bartenev1-1/+2
In theory, this can provide a bit better distribution of latencies. Also it simplifies the code, since ngx_queue_t is now used instead of custom implementation.
2014-09-01Events: removed broken thread support from posted events.Valentin Bartenev1-25/+4
It's mostly dead code. And the idea of thread support for this task has been deprecated.
2012-04-03Fixed spelling in multiline C comments.Ruslan Ermilov1-1/+1
2012-01-18Copyright updated.Maxim Konovalov1-0/+1
2010-03-25*) introduce ngx_time_sigsafe_update() to update the error log time onlyIgor Sysoev1-2/+2
*) change ngx_time_update() interface
2010-03-13*) use previously cached GMT offset value to update time from a signal handlerIgor Sysoev1-2/+2
*) change ngx_time_update() interface since there are no notification methods those return time
2010-03-12do not update time in the timer signal handler,Igor Sysoev1-1/+1
since localtime_r() is not Async-Signal-Safe function
2009-08-25*) move small declarations in appropriate places and delete the surplusIgor Sysoev1-1/+0
header files *) delete insignificant comments
2009-08-25style fixIgor Sysoev1-6/+1
2009-06-02return NULL instead of NGX_CONF_ERROR on a create conf failureIgor Sysoev1-1/+1
2008-05-22style fixIgor Sysoev1-1/+1
2007-09-01NGX_USE_VNODE_EVENT and NGX_FLUSH_EVENTIgor Sysoev1-5/+23
2007-08-31use ev->log, because ev->data may be connection stub onlyIgor Sysoev1-1/+1
2007-07-29make 64-bit ngx_int_t on 64-bit platformsIgor Sysoev1-25/+32
2006-03-15nginx-0.3.33-RELEASE importrelease-0.3.33Igor Sysoev1-5/+8
*) Feature: the "http_503" parameter of the "proxy_next_upstream" or "fastcgi_next_upstream" directives. *) Bugfix: ngx_http_perl_module did not work with inlined in the configuration code, if it was not started with the "sub" word. *) Bugfix: in the "post_action" directive.
2006-03-10nginx-0.3.31-RELEASE importrelease-0.3.31Igor Sysoev1-1/+10
*) Change: now nginx passes the malformed proxied backend responses. *) Feature: the "listen" directives support the address in the "*:port" form. *) Feature: the EVFILER_TIMER support in MacOSX 10.4. *) Workaround: for MacOSX 64-bit kernel kqueue millisecond timeout bug. Thanks to Andrei Nigmatulin. *) Bugfix: if there were several "listen" directives listening one various addresses inside one server, then server names like "*.domain.tld" worked for first address only; the bug had appeared in 0.3.18. *) Bugfix: if the HTTPS protocol was used in the "proxy_pass" directive and the request body was in temporarily file then the request was not transferred. *) Bugfix: perl 5.8.8 compatibility.
2005-12-05nginx-0.3.13-RELEASE importrelease-0.3.13Igor Sysoev1-13/+13
*) Feature: the IMAP/POP3 proxy supports STARTTLS and STLS. *) Bugfix: the IMAP/POP3 proxy did not work with the select, poll, and /dev/poll methods. *) Bugfix: in SSI handling. *) Bugfix: now Solaris sendfilev() is not used to transfer the client request body to FastCGI-server via the unix domain socket. *) Bugfix: the "auth_basic" directive did not disable the authorization; the bug had appeared in 0.3.11.
2005-10-21nginx-0.3.5-RELEASE importrelease-0.3.5Igor Sysoev1-17/+6
*) Bugfix: the segmentation fault may occurred if the IMAP/POP3 login was changed by authorization server; the bug had appeared in 0.2.2. *) Bugfix: the accept mutex did not work and all connections were handled by one process; the bug had appeared in 0.3.3. *) Bugfix: the timeout did not work if the "rtsig" method and the "timer_resolution" directive were used.
2005-10-19nginx-0.3.4-RELEASE importrelease-0.3.4Igor Sysoev1-2/+4
*) Bugfix: nginx could not be built on Linux 2.4+ and MacOS X; the bug had appeared in 0.3.3.
2005-10-19nginx-0.3.3-RELEASE importrelease-0.3.3Igor Sysoev1-141/+93
*) Change: the "bl" and "af" parameters of the "listen" directive was renamed to the "backlog" and "accept_filter". *) Feature: the "rcvbuf" and "sndbuf" parameters of the "listen" directive. *) Change: the "$msec" log parameter does not require now the additional the gettimeofday() system call. *) Feature: the -t switch now tests the "listen" directives. *) Bugfix: if the invalid address was specified in the "listen" directive, then after the -HUP signal nginx left an open socket in the CLOSED state. *) Bugfix: the mime type may be incorrectly set to default value for index file with variable in the name; the bug had appeared in 0.3.0. *) Feature: the "timer_resolution" directive. *) Feature: the millisecond "$upstream_response_time" log parameter. *) Bugfix: a temporary file with client request body now is removed just after the response header was transferred to a client. *) Bugfix: OpenSSL 0.9.6 compatibility. *) Bugfix: the SSL certificate and key file paths could not be relative. *) Bugfix: the "ssl_prefer_server_ciphers" directive did not work in the ngx_imap_ssl_module. *) Bugfix: the "ssl_protocols" directive allowed to specify the single protocol only.
2005-10-12nginx-0.3.2-RELEASE importrelease-0.3.2Igor Sysoev1-1/+1
*) Feature: the Sun Studio 10 C compiler support. *) Feature: the "proxy_upstream_max_fails", "proxy_upstream_fail_timeout", "fastcgi_upstream_max_fails", and "fastcgi_upstream_fail_timeout" directives.
2005-10-10nginx-0.3.1-RELEASE importrelease-0.3.1Igor Sysoev1-1/+0
*) Bugfix: the segmentation fault occurred when the signal queue overflowed if the "rtsig" method was used; the bug had appeared in 0.2.0. *) Change: correct handling of the "\\", "\"", "\'", and "\$" pairs in SSI.
2005-10-07nginx-0.3.0-RELEASE importrelease-0.3.0Igor Sysoev1-39/+15
*) Change: the 10-days live time limit of worker process was eliminated. The limit was introduced because of millisecond timers overflow.
2005-09-08nginx-0.1.45-RELEASE importrelease-0.1.45Igor Sysoev1-1/+7
*) Change: the "ssl_engine" directive was canceled in the ngx_http_ssl_module and now is introduced at global level. *) Bugfix: the responses with SSI subrequests did not transferred via SSL connection. *) Various bug fixes in the IMAP/POP3 proxy.
2005-05-12nginx-0.1.29-RELEASE importrelease-0.1.29Igor Sysoev1-3/+9
*) Feature: the ngx_http_ssi_module supports "include virtual" command. *) Feature: the ngx_http_ssi_module supports the condition command like 'if expr="$NAME"' and "else" and "endif" commands. Only one nested level is supported. *) Feature: the ngx_http_ssi_module supports the DATE_LOCAL and DATE_GMT variables and "config timefmt" command. *) Feature: the "ssi_ignore_recycled_buffers" directive. *) Bugfix: the "echo" command did not show the default value for the empty QUERY_STRING variable. *) Change: the ngx_http_proxy_module was rewritten. *) Feature: the "proxy_redirect", "proxy_pass_request_headers", "proxy_pass_request_body", and "proxy_method" directives. *) Feature: the "proxy_set_header" directive. The "proxy_x_var" was canceled and must be replaced with the proxy_set_header directive. *) Change: the "proxy_preserve_host" is canceled and must be replaced with the "proxy_set_header Host $host" and the "proxy_redirect off" directives, the "proxy_set_header Host $host:$proxy_port" directive and the appropriate proxy_redirect directives. *) Change: the "proxy_set_x_real_ip" is canceled and must be replaced with the "proxy_set_header X-Real-IP $remote_addr" directive. *) Change: the "proxy_add_x_forwarded_for" is canceled and must be replaced with the "proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for" directive. *) Change: the "proxy_set_x_url" is canceled and must be replaced with the "proxy_set_header X-URL http://$host:$server_port$request_uri" directive. *) Feature: the "fastcgi_param" directive. *) Change: the "fastcgi_root", "fastcgi_set_var" and "fastcgi_params" directive are canceled and must be replaced with the fastcgi_param directives. *) Feature: the "index" directive can use the variables. *) Feature: the "index" directive can be used at http and server levels. *) Change: the last index only in the "index" directive can be absolute. *) Feature: the "rewrite" directive can use the variables. *) Feature: the "internal" directive. *) Feature: the CONTENT_LENGTH, CONTENT_TYPE, REMOTE_PORT, SERVER_ADDR, SERVER_PORT, SERVER_PROTOCOL, DOCUMENT_ROOT, SERVER_NAME, REQUEST_METHOD, REQUEST_URI, and REMOTE_USER variables. *) Change: nginx now passes the invalid lines in a client request headers or a backend response header. *) Bugfix: if the backend did not transfer response for a long time and the "send_timeout" was less than "proxy_read_timeout", then nginx returned the 408 response. *) Bugfix: the segmentation fault was occurred if the backend sent an invalid line in response header; the bug had appeared in 0.1.26. *) Bugfix: the segmentation fault may occurred in FastCGI fault tolerance configuration. *) Bugfix: the "expires" directive did not remove the previous "Expires" and "Cache-Control" headers. *) Bugfix: nginx did not take into account trailing dot in "Host" header line. *) Bugfix: the ngx_http_auth_module did not work under Linux. *) Bugfix: the rewrite directive worked incorrectly, if the arguments were in a request. *) Bugfix: nginx could not be built on MacOS X.
2005-03-19nginx-0.1.25-RELEASE importrelease-0.1.25Igor Sysoev1-4/+8
*) Bugfix: nginx did run on Linux parisc. *) Feature: nginx now does not start under FreeBSD if the sysctl kern.ipc.somaxconn value is too big. *) Bugfix: if a request was internally redirected by the ngx_http_index_module module to the ngx_http_proxy_module or ngx_http_fastcgi_module modules, then the index file was not closed after request completion. *) Feature: the "proxy_pass" can be used in location with regular expression. *) Feature: the ngx_http_rewrite_filter_module module supports the condition like "if ($HTTP_USER_AGENT ~ MSIE)". *) Bugfix: nginx started too slow if the large number of addresses and text values were used in the "geo" directive. *) Change: a variable name must be declared as "$name" in the "geo" directive. The previous variant without "$" is still supported, but will be removed soon. *) Feature: the "%{VARIABLE}v" logging parameter. *) Feature: the "set $name value" directive. *) Bugfix: gcc 4.0 compatibility. *) Feature: the --with-openssl-opt=OPTIONS autoconfiguration directive.
2005-03-04nginx-0.1.24-RELEASE importrelease-0.1.24Igor Sysoev1-26/+36
*) Feature: the ngx_http_ssi_filter_module supports the QUERY_STRING and DOCUMENT_URI variables. *) Bugfix: the ngx_http_autoindex_module may some times return the 404 response for existent directory, if this directory was used in "alias" directive. *) Bugfix: the ngx_http_ssi_filter_module ran incorrectly for large responses. *) Bugfix: the lack of the "Referer" header line was always accounted as valid referrer.
2005-02-16nginx-0.1.19-RELEASE importrelease-0.1.19Igor Sysoev1-1/+1
*) Bugfix: now, if request contains the zero, then the 404 error is returned for the local requests. *) Bugfix: nginx could not be built on NetBSD 2.0. *) Bugfix: the timeout may occur while reading of the the client request body via SSL connections.
2004-11-25nginx-0.1.9-RELEASE importrelease-0.1.9Igor Sysoev1-1/+1
*) Bugfix: the proxied request was sent without arguments if the request contains "//", "/./", "/../" or "%XX". *) Bugfix: the large compressed responses may be transferred not completely. *) Bugfix: the files bigger than 2G was not transferred on Linux that does not support sendfile64(). *) Bugfix: while the build configuration on Linux the --with-poll_module parameter was required; the bug had appeared in 0.1.8.
2004-11-11nginx-0.1.5-RELEASE importrelease-0.1.5Igor Sysoev1-5/+4
*) Bugfix: on Solaris and Linux there may be too many "recvmsg() returned not enough data" alerts. *) Bugfix: there were the "writev() failed (22: Invalid argument)" errors on Solaris in proxy mode without sendfile. On other platforms that do not support sendfile at all the process got caught in an endless loop. *) Bugfix: segmentation fault on Solaris in proxy mode and using sendfile. *) Bugfix: segmentation fault on Solaris. *) Bugfix: on-line upgrade did not work on Linux. *) Bugfix: the ngx_http_autoindex_module module did not escape the spaces, the quotes, and the percent signs in the directory listing. *) Change: the decrease of the copy operations. *) Feature: the userid_p3p directive.
2004-10-21nginx-0.1.2-RELEASE importrelease-0.1.2Igor Sysoev1-6/+16
*) Feature: the --user=USER, --group=GROUP, and --with-ld-opt=OPTIONS options in configure. *) Feature: the server_name directive supports *.domain.tld. *) Bugfix: the portability improvements. *) Bugfix: if configuration file was set in command line, the reconfiguration was impossible; the bug had appeared in 0.1.1. *) Bugfix: proxy module may get caught in an endless loop when sendfile is not used. *) Bugfix: with sendfile the response was not recoded according to the charset module directives; the bug had appeared in 0.1.1. *) Bugfix: very seldom bug in the kqueue processing. *) Bugfix: the gzip module compressed the proxied responses that was already compressed.
2004-09-29nginx-0.1.0-2004-09-29-20:00:49 import; remove years from copyrightIgor Sysoev1-1/+1
2004-09-28nginx-0.1.0-2004-09-28-12:34:51 import; set copyright and remove unused filesIgor Sysoev1-1/+1
2004-09-14nginx-0.0.10-2004-09-14-19:55:24 importIgor Sysoev1-5/+5
2004-07-13nginx-0.0.7-2004-07-13-21:59:12 importIgor Sysoev1-3/+0
2004-07-12nginx-0.0.7-2004-07-13-00:43:53 importIgor Sysoev1-1/+5
2004-07-09nginx-0.0.7-2004-07-09-19:37:31 importIgor Sysoev1-23/+31
2004-07-08nginx-0.0.7-2004-07-08-19:17:47 importIgor Sysoev1-0/+2
2004-07-07nginx-0.0.7-2004-07-07-19:01:00 importIgor Sysoev1-1/+4
2004-07-07nginx-0.0.7-2004-07-07-10:15:04 importIgor Sysoev1-38/+157