diff --git a/patches/nginx-1.2.4-upstream_test_connect_kqueue.patch b/patches/nginx-1.2.4-upstream_test_connect_kqueue.patch new file mode 100644 index 0000000..8179f48 --- /dev/null +++ b/patches/nginx-1.2.4-upstream_test_connect_kqueue.patch @@ -0,0 +1,26 @@ +--- nginx-1.2.4/src/http/ngx_http_upstream.c 2012-08-06 10:34:08.000000000 -0700 ++++ nginx-1.2.4-patched/src/http/ngx_http_upstream.c 2012-11-05 21:17:38.000000000 -0800 +@@ -1808,10 +1808,22 @@ ngx_http_upstream_test_connect(ngx_conne + + #if (NGX_HAVE_KQUEUE) + ++ ngx_event_t *ev; ++ + if (ngx_event_flags & NGX_USE_KQUEUE_EVENT) { + if (c->write->pending_eof) { ++ ev = c->write; ++ ++ } else if (c->read->pending_eof) { ++ ev = c->read; ++ ++ } else { ++ ev = NULL; ++ } ++ ++ if (ev) { + c->log->action = "connecting to upstream"; +- (void) ngx_connection_error(c, c->write->kq_errno, ++ (void) ngx_connection_error(c, ev->kq_errno, + "kevent() reported that connect() failed"); + return NGX_ERROR; + } diff --git a/util/mirror-tarballs b/util/mirror-tarballs index 82d74af..7b1726f 100755 --- a/util/mirror-tarballs +++ b/util/mirror-tarballs @@ -67,6 +67,9 @@ patch -p1 < $root/patches/nginx-$main_ver-allow_request_body_updating.patch || e echo "applying the log_escape_non_ascii patch" patch -p1 < $root/patches/nginx-$main_ver-log_escape_non_ascii.patch || exit 1 +echo "applying the upstream_test_connect_kqueue patch" +patch -p1 < $root/patches/nginx-$main_ver-upstream_test_connect_kqueue.patch || exit 1 + #echo applying reset_wev_handler_in_named_locations.patch ... #patch -p1 < $root/patches/nginx-$main_ver-reset_wev_handler_in_named_locations.patch || exit 1