Patch Nginx eventport support to fix a situation where Nginx can stop servicing events when port_getn() returns a timeout.diff -r1.53 -r1.54 pkgsrc/www/nginx/distinfo
(fhajny)
@@ -1,14 +1,14 @@ | @@ -1,14 +1,14 @@ | |||
1 | $NetBSD: distinfo,v 1.53 2016/11/24 11:35:23 maya Exp $ | 1 | $NetBSD: distinfo,v 1.54 2017/02/14 10:10:55 fhajny Exp $ | |
2 | 2 | |||
3 | SHA1 (array-var-nginx-module-0.04.tar.gz) = 1fd3bdd05c2d1d7667ed6f7baa612ddf7f630df3 | 3 | SHA1 (array-var-nginx-module-0.04.tar.gz) = 1fd3bdd05c2d1d7667ed6f7baa612ddf7f630df3 | |
4 | RMD160 (array-var-nginx-module-0.04.tar.gz) = a751a2ce87dcfb88d072779097b4df9f42a415e4 | 4 | RMD160 (array-var-nginx-module-0.04.tar.gz) = a751a2ce87dcfb88d072779097b4df9f42a415e4 | |
5 | SHA512 (array-var-nginx-module-0.04.tar.gz) = a45905338d2fdac002eaa43f7bff1fa48edcdcf9299de5c47725c2f6d86830f390fbdefc0ebe7492222e53de113439ea754ce63e20dc0245cf82e3247bb855f2 | 5 | SHA512 (array-var-nginx-module-0.04.tar.gz) = a45905338d2fdac002eaa43f7bff1fa48edcdcf9299de5c47725c2f6d86830f390fbdefc0ebe7492222e53de113439ea754ce63e20dc0245cf82e3247bb855f2 | |
6 | Size (array-var-nginx-module-0.04.tar.gz) = 10777 bytes | 6 | Size (array-var-nginx-module-0.04.tar.gz) = 10777 bytes | |
7 | SHA1 (echo-nginx-module-0.59.tar.gz) = 83cedd03405e86dde573d5c90a24ac6d7bf25ad5 | 7 | SHA1 (echo-nginx-module-0.59.tar.gz) = 83cedd03405e86dde573d5c90a24ac6d7bf25ad5 | |
8 | RMD160 (echo-nginx-module-0.59.tar.gz) = 2caa40d531c0e19f0cdaa93c854e169f8f9375a2 | 8 | RMD160 (echo-nginx-module-0.59.tar.gz) = 2caa40d531c0e19f0cdaa93c854e169f8f9375a2 | |
9 | SHA512 (echo-nginx-module-0.59.tar.gz) = 803c431da00160f62ee98e126d244fb97b2d9dca08137daabf55504f012598f8e2c689841c2e8bfced5f07ce24c46933c49b3feffc09ca0b5f07dc10e34546ee | 9 | SHA512 (echo-nginx-module-0.59.tar.gz) = 803c431da00160f62ee98e126d244fb97b2d9dca08137daabf55504f012598f8e2c689841c2e8bfced5f07ce24c46933c49b3feffc09ca0b5f07dc10e34546ee | |
10 | Size (echo-nginx-module-0.59.tar.gz) = 52703 bytes | 10 | Size (echo-nginx-module-0.59.tar.gz) = 52703 bytes | |
11 | SHA1 (encrypted-session-nginx-module-0.05.tar.gz) = 0d96ec039f98fae95ce315946bd4ad12128a426c | 11 | SHA1 (encrypted-session-nginx-module-0.05.tar.gz) = 0d96ec039f98fae95ce315946bd4ad12128a426c | |
12 | RMD160 (encrypted-session-nginx-module-0.05.tar.gz) = 2e8f92d1841c9352cf9c2c775565a60cb840d2ff | 12 | RMD160 (encrypted-session-nginx-module-0.05.tar.gz) = 2e8f92d1841c9352cf9c2c775565a60cb840d2ff | |
13 | SHA512 (encrypted-session-nginx-module-0.05.tar.gz) = eb11560945f614b110034a7fc461a23057cd8fdc50af7abaaec00fb4991c4dfec25ddfc56d3458de5bd601f0d9990dd235605432d46c5a1852be2f69317a5761 | 13 | SHA512 (encrypted-session-nginx-module-0.05.tar.gz) = eb11560945f614b110034a7fc461a23057cd8fdc50af7abaaec00fb4991c4dfec25ddfc56d3458de5bd601f0d9990dd235605432d46c5a1852be2f69317a5761 | |
14 | Size (encrypted-session-nginx-module-0.05.tar.gz) = 10462 bytes | 14 | Size (encrypted-session-nginx-module-0.05.tar.gz) = 10462 bytes | |
@@ -37,13 +37,14 @@ RMD160 (nginx_http_push_module-0.731.tar | @@ -37,13 +37,14 @@ RMD160 (nginx_http_push_module-0.731.tar | |||
37 | SHA512 (nginx_http_push_module-0.731.tar.gz) = b95e6e88236d920e18c927a5bdf7d84210ba34b234e7c20ba09d114337a4494535c94c7e84926e5479b23d4eba4e2f1db0a3e7d8b017c9907a4a824cd25098d8 | 37 | SHA512 (nginx_http_push_module-0.731.tar.gz) = b95e6e88236d920e18c927a5bdf7d84210ba34b234e7c20ba09d114337a4494535c94c7e84926e5479b23d4eba4e2f1db0a3e7d8b017c9907a4a824cd25098d8 | |
38 | Size (nginx_http_push_module-0.731.tar.gz) = 50346 bytes | 38 | Size (nginx_http_push_module-0.731.tar.gz) = 50346 bytes | |
39 | SHA1 (ngx_devel_kit-0.3.0.tar.gz) = b556d068db23037be30436af559795f45dd93c67 | 39 | SHA1 (ngx_devel_kit-0.3.0.tar.gz) = b556d068db23037be30436af559795f45dd93c67 | |
40 | RMD160 (ngx_devel_kit-0.3.0.tar.gz) = beb2736eb06e8e26f60643623553789346f653da | 40 | RMD160 (ngx_devel_kit-0.3.0.tar.gz) = beb2736eb06e8e26f60643623553789346f653da | |
41 | SHA512 (ngx_devel_kit-0.3.0.tar.gz) = 558764c9be913a4f61d0e277d07bf3c272e1ce086b3fadb85b693a7e92805cd9fca4da7a8d29c96e53fc0d23b331327d3b2561ff61f19d2330e7d5d35ac7d614 | 41 | SHA512 (ngx_devel_kit-0.3.0.tar.gz) = 558764c9be913a4f61d0e277d07bf3c272e1ce086b3fadb85b693a7e92805cd9fca4da7a8d29c96e53fc0d23b331327d3b2561ff61f19d2330e7d5d35ac7d614 | |
42 | Size (ngx_devel_kit-0.3.0.tar.gz) = 66455 bytes | 42 | Size (ngx_devel_kit-0.3.0.tar.gz) = 66455 bytes | |
43 | SHA1 (set-misc-nginx-module-0.30.tar.gz) = a56b4d9bd33df2117803c93e1edde8b8bcd6e507 | 43 | SHA1 (set-misc-nginx-module-0.30.tar.gz) = a56b4d9bd33df2117803c93e1edde8b8bcd6e507 | |
44 | RMD160 (set-misc-nginx-module-0.30.tar.gz) = 6eec9e0828e4ef6339ecc5e53bf4580cf1e18fc3 | 44 | RMD160 (set-misc-nginx-module-0.30.tar.gz) = 6eec9e0828e4ef6339ecc5e53bf4580cf1e18fc3 | |
45 | SHA512 (set-misc-nginx-module-0.30.tar.gz) = f081fc7e8e03f1a61b665d8798999f14d6516c317a039e35635f6368188f73a583c3320a5d41f000868b87e5c78e4796168e9d3d3a68325f3c642bf5b3458e2e | 45 | SHA512 (set-misc-nginx-module-0.30.tar.gz) = f081fc7e8e03f1a61b665d8798999f14d6516c317a039e35635f6368188f73a583c3320a5d41f000868b87e5c78e4796168e9d3d3a68325f3c642bf5b3458e2e | |
46 | Size (set-misc-nginx-module-0.30.tar.gz) = 28584 bytes | 46 | Size (set-misc-nginx-module-0.30.tar.gz) = 28584 bytes | |
47 | SHA1 (patch-aa) = 47f0c19b47b115f00ea6e9432d5bb12058c3bc1c | 47 | SHA1 (patch-aa) = 47f0c19b47b115f00ea6e9432d5bb12058c3bc1c | |
48 | SHA1 (patch-ab) = 7d126a4372aa8575ef01a4bfd9aec9898861c763 | 48 | SHA1 (patch-ab) = 7d126a4372aa8575ef01a4bfd9aec9898861c763 | |
49 | SHA1 (patch-auto_lib_pcre_conf) = 500f16808c07ae2fd4016dd662b6f1b0b1efbb91 | 49 | SHA1 (patch-auto_lib_pcre_conf) = 500f16808c07ae2fd4016dd662b6f1b0b1efbb91 | |
50 | SHA1 (patch-src_event_modules_ngx__eventport__module.c) = c8e919f48d68bd5bffc4ad11d9c79dc6da3a0de2 |
@@ -1,14 +1,14 @@ | @@ -1,14 +1,14 @@ | |||
1 | $NetBSD: distinfo,v 1.22 2016/10/04 10:12:42 fhajny Exp $ | 1 | $NetBSD: distinfo,v 1.23 2017/02/14 10:10:55 fhajny Exp $ | |
2 | 2 | |||
3 | SHA1 (array-var-nginx-module-0.04.tar.gz) = 1fd3bdd05c2d1d7667ed6f7baa612ddf7f630df3 | 3 | SHA1 (array-var-nginx-module-0.04.tar.gz) = 1fd3bdd05c2d1d7667ed6f7baa612ddf7f630df3 | |
4 | RMD160 (array-var-nginx-module-0.04.tar.gz) = a751a2ce87dcfb88d072779097b4df9f42a415e4 | 4 | RMD160 (array-var-nginx-module-0.04.tar.gz) = a751a2ce87dcfb88d072779097b4df9f42a415e4 | |
5 | SHA512 (array-var-nginx-module-0.04.tar.gz) = a45905338d2fdac002eaa43f7bff1fa48edcdcf9299de5c47725c2f6d86830f390fbdefc0ebe7492222e53de113439ea754ce63e20dc0245cf82e3247bb855f2 | 5 | SHA512 (array-var-nginx-module-0.04.tar.gz) = a45905338d2fdac002eaa43f7bff1fa48edcdcf9299de5c47725c2f6d86830f390fbdefc0ebe7492222e53de113439ea754ce63e20dc0245cf82e3247bb855f2 | |
6 | Size (array-var-nginx-module-0.04.tar.gz) = 10777 bytes | 6 | Size (array-var-nginx-module-0.04.tar.gz) = 10777 bytes | |
7 | SHA1 (echo-nginx-module-0.59.tar.gz) = 83cedd03405e86dde573d5c90a24ac6d7bf25ad5 | 7 | SHA1 (echo-nginx-module-0.59.tar.gz) = 83cedd03405e86dde573d5c90a24ac6d7bf25ad5 | |
8 | RMD160 (echo-nginx-module-0.59.tar.gz) = 2caa40d531c0e19f0cdaa93c854e169f8f9375a2 | 8 | RMD160 (echo-nginx-module-0.59.tar.gz) = 2caa40d531c0e19f0cdaa93c854e169f8f9375a2 | |
9 | SHA512 (echo-nginx-module-0.59.tar.gz) = 803c431da00160f62ee98e126d244fb97b2d9dca08137daabf55504f012598f8e2c689841c2e8bfced5f07ce24c46933c49b3feffc09ca0b5f07dc10e34546ee | 9 | SHA512 (echo-nginx-module-0.59.tar.gz) = 803c431da00160f62ee98e126d244fb97b2d9dca08137daabf55504f012598f8e2c689841c2e8bfced5f07ce24c46933c49b3feffc09ca0b5f07dc10e34546ee | |
10 | Size (echo-nginx-module-0.59.tar.gz) = 52703 bytes | 10 | Size (echo-nginx-module-0.59.tar.gz) = 52703 bytes | |
11 | SHA1 (encrypted-session-nginx-module-0.05.tar.gz) = 0d96ec039f98fae95ce315946bd4ad12128a426c | 11 | SHA1 (encrypted-session-nginx-module-0.05.tar.gz) = 0d96ec039f98fae95ce315946bd4ad12128a426c | |
12 | RMD160 (encrypted-session-nginx-module-0.05.tar.gz) = 2e8f92d1841c9352cf9c2c775565a60cb840d2ff | 12 | RMD160 (encrypted-session-nginx-module-0.05.tar.gz) = 2e8f92d1841c9352cf9c2c775565a60cb840d2ff | |
13 | SHA512 (encrypted-session-nginx-module-0.05.tar.gz) = eb11560945f614b110034a7fc461a23057cd8fdc50af7abaaec00fb4991c4dfec25ddfc56d3458de5bd601f0d9990dd235605432d46c5a1852be2f69317a5761 | 13 | SHA512 (encrypted-session-nginx-module-0.05.tar.gz) = eb11560945f614b110034a7fc461a23057cd8fdc50af7abaaec00fb4991c4dfec25ddfc56d3458de5bd601f0d9990dd235605432d46c5a1852be2f69317a5761 | |
14 | Size (encrypted-session-nginx-module-0.05.tar.gz) = 10462 bytes | 14 | Size (encrypted-session-nginx-module-0.05.tar.gz) = 10462 bytes | |
@@ -36,13 +36,14 @@ SHA1 (nginx_http_push_module-0.731.tar.g | @@ -36,13 +36,14 @@ SHA1 (nginx_http_push_module-0.731.tar.g | |||
36 | RMD160 (nginx_http_push_module-0.731.tar.gz) = d35d7138d3b4dd20076b1026c420f03c68177f99 | 36 | RMD160 (nginx_http_push_module-0.731.tar.gz) = d35d7138d3b4dd20076b1026c420f03c68177f99 | |
37 | SHA512 (nginx_http_push_module-0.731.tar.gz) = b95e6e88236d920e18c927a5bdf7d84210ba34b234e7c20ba09d114337a4494535c94c7e84926e5479b23d4eba4e2f1db0a3e7d8b017c9907a4a824cd25098d8 | 37 | SHA512 (nginx_http_push_module-0.731.tar.gz) = b95e6e88236d920e18c927a5bdf7d84210ba34b234e7c20ba09d114337a4494535c94c7e84926e5479b23d4eba4e2f1db0a3e7d8b017c9907a4a824cd25098d8 | |
38 | Size (nginx_http_push_module-0.731.tar.gz) = 50346 bytes | 38 | Size (nginx_http_push_module-0.731.tar.gz) = 50346 bytes | |
39 | SHA1 (ngx_devel_kit-0.3.0.tar.gz) = b556d068db23037be30436af559795f45dd93c67 | 39 | SHA1 (ngx_devel_kit-0.3.0.tar.gz) = b556d068db23037be30436af559795f45dd93c67 | |
40 | RMD160 (ngx_devel_kit-0.3.0.tar.gz) = beb2736eb06e8e26f60643623553789346f653da | 40 | RMD160 (ngx_devel_kit-0.3.0.tar.gz) = beb2736eb06e8e26f60643623553789346f653da | |
41 | SHA512 (ngx_devel_kit-0.3.0.tar.gz) = 558764c9be913a4f61d0e277d07bf3c272e1ce086b3fadb85b693a7e92805cd9fca4da7a8d29c96e53fc0d23b331327d3b2561ff61f19d2330e7d5d35ac7d614 | 41 | SHA512 (ngx_devel_kit-0.3.0.tar.gz) = 558764c9be913a4f61d0e277d07bf3c272e1ce086b3fadb85b693a7e92805cd9fca4da7a8d29c96e53fc0d23b331327d3b2561ff61f19d2330e7d5d35ac7d614 | |
42 | Size (ngx_devel_kit-0.3.0.tar.gz) = 66455 bytes | 42 | Size (ngx_devel_kit-0.3.0.tar.gz) = 66455 bytes | |
43 | SHA1 (set-misc-nginx-module-0.30.tar.gz) = a56b4d9bd33df2117803c93e1edde8b8bcd6e507 | 43 | SHA1 (set-misc-nginx-module-0.30.tar.gz) = a56b4d9bd33df2117803c93e1edde8b8bcd6e507 | |
44 | RMD160 (set-misc-nginx-module-0.30.tar.gz) = 6eec9e0828e4ef6339ecc5e53bf4580cf1e18fc3 | 44 | RMD160 (set-misc-nginx-module-0.30.tar.gz) = 6eec9e0828e4ef6339ecc5e53bf4580cf1e18fc3 | |
45 | SHA512 (set-misc-nginx-module-0.30.tar.gz) = f081fc7e8e03f1a61b665d8798999f14d6516c317a039e35635f6368188f73a583c3320a5d41f000868b87e5c78e4796168e9d3d3a68325f3c642bf5b3458e2e | 45 | SHA512 (set-misc-nginx-module-0.30.tar.gz) = f081fc7e8e03f1a61b665d8798999f14d6516c317a039e35635f6368188f73a583c3320a5d41f000868b87e5c78e4796168e9d3d3a68325f3c642bf5b3458e2e | |
46 | Size (set-misc-nginx-module-0.30.tar.gz) = 28584 bytes | 46 | Size (set-misc-nginx-module-0.30.tar.gz) = 28584 bytes | |
47 | SHA1 (patch-auto_install) = 3b3a0f9f4c005b707664554fa57a58c9e3b7de60 | 47 | SHA1 (patch-auto_install) = 3b3a0f9f4c005b707664554fa57a58c9e3b7de60 | |
48 | SHA1 (patch-conf_nginx.conf) = ee9fbc3838cc006f6e1cddddadf6603f4941d171 | 48 | SHA1 (patch-conf_nginx.conf) = ee9fbc3838cc006f6e1cddddadf6603f4941d171 | |
49 | SHA1 (patch-src_event_modules_ngx__eventport__module.c) = c8e919f48d68bd5bffc4ad11d9c79dc6da3a0de2 |
$NetBSD: patch-src_event_modules_ngx__eventport__module.c,v 1.1 2017/02/14 10:10:55 fhajny Exp $
Fix a situation where Nginx can stop servicing events when port_getn() returns a timeout.
https://github.com/joyent/nginx/commit/bdd0c625236bc25799bd6f81dcf5d774928e8cb0
--- src/event/modules/ngx_eventport_module.c.orig 2017-01-24 14:02:19.000000000 +0000
+++ src/event/modules/ngx_eventport_module.c
@@ -468,6 +468,16 @@ ngx_eventport_process_events(ngx_cycle_t
ngx_time_update();
}
+ /*
+ * There's a long standing condition with event ports that port_getn() may
+ * return ETIME even when events are available. This would happen if we have
+ * specified a timeout to port_getn() without reaching the number of
+ * requested events.
+ */
+ if (n == -1 && err == ETIME && events > 0) {
+ n = 0;
+ }
+
if (n == -1) {
if (err == ETIME) {
if (timer != NGX_TIMER_INFINITE) {
$NetBSD: patch-src_event_modules_ngx__eventport__module.c,v 1.1 2017/02/14 10:10:55 fhajny Exp $
Fix a situation where Nginx can stop servicing events when port_getn() returns a timeout.
https://github.com/joyent/nginx/commit/bdd0c625236bc25799bd6f81dcf5d774928e8cb0
--- src/event/modules/ngx_eventport_module.c.orig 2017-01-24 14:02:19.000000000 +0000
+++ src/event/modules/ngx_eventport_module.c
@@ -468,6 +468,16 @@ ngx_eventport_process_events(ngx_cycle_t
ngx_time_update();
}
+ /*
+ * There's a long standing condition with event ports that port_getn() may
+ * return ETIME even when events are available. This would happen if we have
+ * specified a timeout to port_getn() without reaching the number of
+ * requested events.
+ */
+ if (n == -1 && err == ETIME && events > 0) {
+ n = 0;
+ }
+
if (n == -1) {
if (err == ETIME) {
if (timer != NGX_TIMER_INFINITE) {