diff --git a/patches/nginx-1.4.3-cache_lock_hang_in_subreq.patch b/patches/nginx-1.4.3-cache_lock_hang_in_subreq.patch new file mode 100644 index 0000000..841dc47 --- /dev/null +++ b/patches/nginx-1.4.3-cache_lock_hang_in_subreq.patch @@ -0,0 +1,22 @@ +--- nginx-1.4.3/src/http/ngx_http_file_cache.c 2013-10-08 05:07:14.000000000 -0700 ++++ nginx-1.4.3-patched/src/http/ngx_http_file_cache.c 2013-10-26 14:47:56.184041728 -0700 +@@ -432,6 +432,7 @@ ngx_http_file_cache_lock_wait_handler(ng + ngx_uint_t wait; + ngx_msec_t timer; + ngx_http_cache_t *c; ++ ngx_connection_t *conn; + ngx_http_request_t *r; + ngx_http_file_cache_t *cache; + +@@ -471,7 +472,10 @@ wakeup: + + c->waiting = 0; + r->main->blocked--; +- r->connection->write->handler(r->connection->write); ++ ++ conn = r->connection; ++ r->write_event_handler(r); ++ ngx_http_run_posted_requests(conn); + } + + diff --git a/util/mirror-tarballs b/util/mirror-tarballs index 457ab35..c694619 100755 --- a/util/mirror-tarballs +++ b/util/mirror-tarballs @@ -175,22 +175,26 @@ fi answer=`$root/util/ver-ge "$main_ver" 1.5.3` if [ "$answer" = "N" ]; then - echo "$info_txt applying the unix_socket_accept_over_read patch for lua $ver" + echo "$info_txt applying the unix_socket_accept_over_read patch for nginx $ver" patch -p1 < $root/patches/nginx-$ver-unix_socket_accept_over_read.patch || exit 1 echo fi answer=`$root/util/ver-ge "$main_ver" 1.5.3` if [ "$answer" = "N" ]; then - echo "$info_txt applying the gzip_buffered_bug patch for lua $ver" + echo "$info_txt applying the gzip_buffered_bug patch for nginx $ver" patch -p1 < $root/patches/nginx-$ver-gzip_buffered_bug.patch || exit 1 echo fi -echo "$info_txt applying the gzip_flush_bug patch for lua $ver" +echo "$info_txt applying the gzip_flush_bug patch for nginx $ver" patch -p1 < $root/patches/nginx-$ver-gzip_flush_bug.patch || exit 1 echo +echo "$info_txt applying the cache_lock_hang_in_subreq patch for nginx $ver" +patch -p1 < $root/patches/nginx-$ver-cache_lock_hang_in_subreq.patch || exit 1 +echo + rm -f *.patch || exit 1 cd .. || exit 1