mirror of
				https://github.com/openresty/openresty.git
				synced 2024-10-13 00:29:41 +00:00 
			
		
		
		
	fixed the dtrace patch for nginx.
This commit is contained in:
		| @ -1,5 +1,5 @@ | ||||
| diff --git a/README b/README | ||||
| index 2f68e14..262822a 100644 | ||||
| index 2f68e14e..262822a5 100644 | ||||
| --- a/README | ||||
| +++ b/README | ||||
| @@ -1,3 +1,38 @@ | ||||
| @ -43,7 +43,7 @@ index 2f68e14..262822a 100644 | ||||
| +The original Nginx documentation is available at http://nginx.org | ||||
|   | ||||
| diff --git a/auto/install b/auto/install | ||||
| index 4dcc743..fbce42b 100644 | ||||
| index d884487a..c5027679 100644 | ||||
| --- a/auto/install | ||||
| +++ b/auto/install | ||||
| @@ -16,6 +16,20 @@ END | ||||
| @ -84,7 +84,7 @@ index 4dcc743..fbce42b 100644 | ||||
|  case ".$NGX_ERROR_LOG_PATH" in | ||||
|      ./* | .) | ||||
|      ;; | ||||
| @@ -159,6 +183,36 @@ install:	$NGX_OBJS${ngx_dirsep}nginx${ngx_binext} \ | ||||
| @@ -158,6 +182,36 @@ install:	build $NGX_INSTALL_PERL_MODULES | ||||
|  		|| cp -R $NGX_HTML '\$(DESTDIR)$NGX_PREFIX' | ||||
|  END | ||||
|   | ||||
| @ -121,8 +121,8 @@ index 4dcc743..fbce42b 100644 | ||||
|   | ||||
|  if test -n "$NGX_ERROR_LOG_PATH"; then | ||||
|      cat << END                                                >> $NGX_MAKEFILE | ||||
| @@ -181,6 +235,19 @@ END | ||||
|  fi | ||||
| @@ -194,6 +248,19 @@ END | ||||
|  done | ||||
|   | ||||
|   | ||||
| +if [ $NGX_DTRACE = YES ]; then | ||||
| @ -142,7 +142,7 @@ index 4dcc743..fbce42b 100644 | ||||
|   | ||||
|  cat << END >> Makefile | ||||
| diff --git a/auto/make b/auto/make | ||||
| index 039a70f..eafe77c 100644 | ||||
| index 7ddd1007..367a4e55 100644 | ||||
| --- a/auto/make | ||||
| +++ b/auto/make | ||||
| @@ -27,6 +27,9 @@ LINK =	$LINK | ||||
| @ -155,7 +155,7 @@ index 039a70f..eafe77c 100644 | ||||
|   | ||||
|  if test -n "$NGX_PERL_CFLAGS"; then | ||||
|      echo NGX_PERL_CFLAGS = $NGX_PERL_CFLAGS                   >> $NGX_MAKEFILE | ||||
| @@ -208,6 +211,46 @@ ngx_objs=`echo $ngx_all_objs $ngx_modules_obj \ | ||||
| @@ -209,6 +212,46 @@ ngx_objs=`echo $ngx_all_objs $ngx_modules_obj \ | ||||
|      | sed -e "s/  *\([^ ][^ ]*\)/$ngx_long_regex_cont\1/g" \ | ||||
|            -e "s/\//$ngx_regex_dirsep/g"` | ||||
|   | ||||
| @ -203,21 +203,21 @@ index 039a70f..eafe77c 100644 | ||||
|  if test -n "$NGX_LD_OPT$CORE_LIBS"; then | ||||
|      ngx_libs=`echo $NGX_LD_OPT $CORE_LIBS \ | ||||
| diff --git a/auto/modules b/auto/modules | ||||
| index 2074778..a722871 100644 | ||||
| index be3561e6..609af7d6 100644 | ||||
| --- a/auto/modules | ||||
| +++ b/auto/modules | ||||
| @@ -75,7 +75,8 @@ if :; then | ||||
|                       src/http/ngx_http_variables.h \ | ||||
|                       src/http/ngx_http_script.h \ | ||||
|                       src/http/ngx_http_upstream.h \ | ||||
| -                     src/http/ngx_http_upstream_round_robin.h" | ||||
| +                     src/http/ngx_http_upstream_round_robin.h \ | ||||
| +                     src/http/ngx_http_probe.h" | ||||
|      ngx_module_srcs="src/http/ngx_http.c \ | ||||
|                       src/http/ngx_http_core_module.c \ | ||||
|                       src/http/ngx_http_special_response.c \ | ||||
| @@ -77,7 +77,8 @@ if [ $HTTP = YES ]; then | ||||
|                           src/http/ngx_http_variables.h \ | ||||
|                           src/http/ngx_http_script.h \ | ||||
|                           src/http/ngx_http_upstream.h \ | ||||
| -                         src/http/ngx_http_upstream_round_robin.h" | ||||
| +                         src/http/ngx_http_upstream_round_robin.h \ | ||||
| +                         src/http/ngx_http_probe.h" | ||||
|          ngx_module_srcs="src/http/ngx_http.c \ | ||||
|                           src/http/ngx_http_core_module.c \ | ||||
|                           src/http/ngx_http_special_response.c \ | ||||
| diff --git a/auto/options b/auto/options | ||||
| index 2833fb1..f02b8b8 100644 | ||||
| index 66b822a7..fb141218 100644 | ||||
| --- a/auto/options | ||||
| +++ b/auto/options | ||||
| @@ -13,6 +13,8 @@ NGX_CONF_PATH= | ||||
| @ -242,7 +242,7 @@ index 2833fb1..f02b8b8 100644 | ||||
|  NGX_CC_OPT= | ||||
|  NGX_LD_OPT= | ||||
|  CPU=NO | ||||
| @@ -189,6 +197,8 @@ do | ||||
| @@ -187,6 +195,8 @@ do | ||||
|          --error-log-path=*)              NGX_ERROR_LOG_PATH="$value";; | ||||
|          --pid-path=*)                    NGX_PID_PATH="$value"      ;; | ||||
|          --lock-path=*)                   NGX_LOCK_PATH="$value"     ;; | ||||
| @ -251,7 +251,7 @@ index 2833fb1..f02b8b8 100644 | ||||
|          --user=*)                        NGX_USER="$value"          ;; | ||||
|          --group=*)                       NGX_GROUP="$value"         ;; | ||||
|   | ||||
| @@ -322,7 +332,8 @@ use the \"--with-mail_ssl_module\" option instead" | ||||
| @@ -338,7 +348,8 @@ use the \"--with-mail_ssl_module\" option instead" | ||||
|          --with-ld-opt=*)                 NGX_LD_OPT="$value"        ;; | ||||
|          --with-cpu-opt=*)                CPU="$value"               ;; | ||||
|          --with-debug)                    NGX_DEBUG=YES              ;; | ||||
| @ -261,7 +261,7 @@ index 2833fb1..f02b8b8 100644 | ||||
|          --without-pcre)                  USE_PCRE=DISABLED          ;; | ||||
|          --with-pcre)                     USE_PCRE=YES               ;; | ||||
|          --with-pcre=*)                   PCRE="$value"              ;; | ||||
| @@ -377,6 +388,8 @@ cat << END | ||||
| @@ -410,6 +421,8 @@ cat << END | ||||
|    --error-log-path=PATH              set error log pathname | ||||
|    --pid-path=PATH                    set nginx.pid pathname | ||||
|    --lock-path=PATH                   set nginx.lock pathname | ||||
| @ -270,7 +270,7 @@ index 2833fb1..f02b8b8 100644 | ||||
|   | ||||
|    --user=USER                        set non-privileged user for | ||||
|                                       worker processes | ||||
| @@ -532,6 +545,8 @@ cat << END | ||||
| @@ -567,6 +580,8 @@ cat << END | ||||
|    --with-openssl-opt=OPTIONS         set additional build options for OpenSSL | ||||
|   | ||||
|    --with-debug                       enable debug logging | ||||
| @ -279,7 +279,7 @@ index 2833fb1..f02b8b8 100644 | ||||
|   | ||||
|  END | ||||
|   | ||||
| @@ -563,6 +578,7 @@ NGX_CONF_PATH=${NGX_CONF_PATH:-conf/nginx.conf} | ||||
| @@ -585,6 +600,7 @@ NGX_CONF_PATH=${NGX_CONF_PATH:-conf/nginx.conf} | ||||
|  NGX_CONF_PREFIX=`dirname $NGX_CONF_PATH` | ||||
|  NGX_PID_PATH=${NGX_PID_PATH:-logs/nginx.pid} | ||||
|  NGX_LOCK_PATH=${NGX_LOCK_PATH:-logs/nginx.lock} | ||||
| @ -288,18 +288,18 @@ index 2833fb1..f02b8b8 100644 | ||||
|  if [ ".$NGX_ERROR_LOG_PATH" = ".stderr" ]; then | ||||
|      NGX_ERROR_LOG_PATH= | ||||
| diff --git a/auto/os/darwin b/auto/os/darwin | ||||
| index 9b31b1f..1bd931c 100644 | ||||
| index 429468f7..be2d78dc 100644 | ||||
| --- a/auto/os/darwin | ||||
| +++ b/auto/os/darwin | ||||
| @@ -116,3 +116,6 @@ ngx_feature_libs= | ||||
|  ngx_feature_test="int32_t  lock, n; | ||||
|                    n = OSAtomicCompareAndSwap32Barrier(0, 1, &lock)" | ||||
| @@ -118,3 +118,6 @@ ngx_feature_libs= | ||||
|  ngx_feature_test="int32_t  lock = 0; | ||||
|                    if (!OSAtomicCompareAndSwap32Barrier(0, 1, &lock)) return 1" | ||||
|  . auto/feature | ||||
| + | ||||
| +DTRACE_PROBE_OBJ=NO | ||||
| + | ||||
| diff --git a/auto/os/freebsd b/auto/os/freebsd | ||||
| index 937ca20..d76b32b 100644 | ||||
| index 937ca204..d76b32b6 100644 | ||||
| --- a/auto/os/freebsd | ||||
| +++ b/auto/os/freebsd | ||||
| @@ -105,3 +105,8 @@ if [ $version -ge 701000 ]; then | ||||
| @ -312,17 +312,17 @@ index 937ca20..d76b32b 100644 | ||||
| +fi | ||||
| + | ||||
| diff --git a/auto/os/linux b/auto/os/linux | ||||
| index c932267..b5114d6 100644 | ||||
| index a0c8795b..64825435 100644 | ||||
| --- a/auto/os/linux | ||||
| +++ b/auto/os/linux | ||||
| @@ -171,3 +171,5 @@ ngx_include="sys/vfs.h";     . auto/include | ||||
| @@ -174,3 +174,5 @@ ngx_include="sys/vfs.h";     . auto/include | ||||
|   | ||||
|   | ||||
|  CC_AUX_FLAGS="$cc_aux_flags -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64" | ||||
| + | ||||
| +DTRACE_FROM_SYSTEMTAP=YES | ||||
| diff --git a/auto/sources b/auto/sources | ||||
| index e08e863..0432068 100644 | ||||
| index 13981474..1e61bf90 100644 | ||||
| --- a/auto/sources | ||||
| +++ b/auto/sources | ||||
| @@ -40,10 +40,16 @@ CORE_DEPS="src/core/nginx.h \ | ||||
| @ -342,7 +342,7 @@ index e08e863..0432068 100644 | ||||
|  CORE_SRCS="src/core/nginx.c \ | ||||
|             src/core/ngx_log.c \ | ||||
|             src/core/ngx_palloc.c \ | ||||
| @@ -88,7 +94,8 @@ EVENT_DEPS="src/event/ngx_event.h \ | ||||
| @@ -89,7 +95,8 @@ EVENT_DEPS="src/event/ngx_event.h \ | ||||
|              src/event/ngx_event_timer.h \ | ||||
|              src/event/ngx_event_posted.h \ | ||||
|              src/event/ngx_event_connect.h \ | ||||
| @ -352,7 +352,7 @@ index e08e863..0432068 100644 | ||||
|   | ||||
|  EVENT_SRCS="src/event/ngx_event.c \ | ||||
|              src/event/ngx_event_timer.c \ | ||||
| @@ -250,3 +257,7 @@ NGX_WIN32_RC="src/os/win32/nginx.rc" | ||||
| @@ -253,3 +260,7 @@ NGX_WIN32_RC="src/os/win32/nginx.rc" | ||||
|   | ||||
|   | ||||
|  HTTP_FILE_CACHE_SRCS=src/http/ngx_http_file_cache.c | ||||
| @ -361,10 +361,10 @@ index e08e863..0432068 100644 | ||||
| + | ||||
| +NGX_TAPSET_SRCS=src/dtrace/nginx.stp | ||||
| diff --git a/auto/summary b/auto/summary | ||||
| index dc8fe4f..ed67c75 100644 | ||||
| index 9aa776ed..d8f727db 100644 | ||||
| --- a/auto/summary | ||||
| +++ b/auto/summary | ||||
| @@ -72,6 +72,19 @@ else | ||||
| @@ -58,6 +58,19 @@ else | ||||
|      echo "  nginx logs errors to stderr" | ||||
|  fi | ||||
|   | ||||
| @ -385,7 +385,7 @@ index dc8fe4f..ed67c75 100644 | ||||
|    nginx http access log file: "$NGX_HTTP_LOG_PATH" | ||||
|    nginx http client request body temporary files: "$NGX_HTTP_CLIENT_TEMP_PATH" | ||||
| diff --git a/configure b/configure | ||||
| index ceff15e..49223f8 100755 | ||||
| index 7e6e33a7..c4ca23c9 100755 | ||||
| --- a/configure | ||||
| +++ b/configure | ||||
| @@ -23,6 +23,9 @@ if [ $NGX_DEBUG = YES ]; then | ||||
| @ -400,7 +400,7 @@ index ceff15e..49223f8 100755 | ||||
|      echo "checking for OS" | ||||
| diff --git a/src/core/ngx_core_probe.h b/src/core/ngx_core_probe.h | ||||
| new file mode 100644 | ||||
| index 0000000..1841df9 | ||||
| index 00000000..1841df9c | ||||
| --- /dev/null | ||||
| +++ b/src/core/ngx_core_probe.h | ||||
| @@ -0,0 +1,24 @@ | ||||
| @ -429,7 +429,7 @@ index 0000000..1841df9 | ||||
| + | ||||
| +#endif /* _NGX_CORE_PROBE_H_INCLUDED_ */ | ||||
| diff --git a/src/core/ngx_palloc.c b/src/core/ngx_palloc.c | ||||
| index ef4a647..49bb30b 100644 | ||||
| index d3044ac9..d62ac45f 100644 | ||||
| --- a/src/core/ngx_palloc.c | ||||
| +++ b/src/core/ngx_palloc.c | ||||
| @@ -7,6 +7,7 @@ | ||||
| @ -439,8 +439,8 @@ index ef4a647..49bb30b 100644 | ||||
| +#include <ngx_core_probe.h> | ||||
|   | ||||
|   | ||||
|  static void *ngx_palloc_block(ngx_pool_t *pool, size_t size); | ||||
| @@ -37,6 +38,8 @@ ngx_create_pool(size_t size, ngx_log_t *log) | ||||
|  static ngx_inline void *ngx_palloc_small(ngx_pool_t *pool, size_t size, | ||||
| @@ -39,6 +40,8 @@ ngx_create_pool(size_t size, ngx_log_t *log) | ||||
|      p->cleanup = NULL; | ||||
|      p->log = log; | ||||
|   | ||||
| @ -451,7 +451,7 @@ index ef4a647..49bb30b 100644 | ||||
|   | ||||
| diff --git a/src/dtrace/nginx.stp b/src/dtrace/nginx.stp | ||||
| new file mode 100644 | ||||
| index 0000000..e824daf | ||||
| index 00000000..e824dafe | ||||
| --- /dev/null | ||||
| +++ b/src/dtrace/nginx.stp | ||||
| @@ -0,0 +1,299 @@ | ||||
| @ -756,7 +756,7 @@ index 0000000..e824daf | ||||
| + | ||||
| diff --git a/src/dtrace/nginx_provider.d b/src/dtrace/nginx_provider.d | ||||
| new file mode 100644 | ||||
| index 0000000..435adf4 | ||||
| index 00000000..435adf47 | ||||
| --- /dev/null | ||||
| +++ b/src/dtrace/nginx_provider.d | ||||
| @@ -0,0 +1,39 @@ | ||||
| @ -800,8 +800,8 @@ index 0000000..435adf4 | ||||
| +#pragma D attributes Evolving/Evolving/Common      provider nginx args | ||||
| + | ||||
| diff --git a/src/dtrace/stap-nginx b/src/dtrace/stap-nginx | ||||
| new file mode 100755 | ||||
| index 0000000..1bca4cf | ||||
| new file mode 100644 | ||||
| index 00000000..1bca4cfb | ||||
| --- /dev/null | ||||
| +++ b/src/dtrace/stap-nginx | ||||
| @@ -0,0 +1,6 @@ | ||||
| @ -813,7 +813,7 @@ index 0000000..1bca4cf | ||||
| + | ||||
| diff --git a/src/event/ngx_event_probe.h b/src/event/ngx_event_probe.h | ||||
| new file mode 100644 | ||||
| index 0000000..b7b2749 | ||||
| index 00000000..b7b27496 | ||||
| --- /dev/null | ||||
| +++ b/src/event/ngx_event_probe.h | ||||
| @@ -0,0 +1,32 @@ | ||||
| @ -850,7 +850,7 @@ index 0000000..b7b2749 | ||||
| + | ||||
| +#endif /* _NGX_EVENT_PROBE_H_INCLUDED_ */ | ||||
| diff --git a/src/event/ngx_event_timer.c b/src/event/ngx_event_timer.c | ||||
| index 8f547b2..6e77465 100644 | ||||
| index 698b88fa..591558dc 100644 | ||||
| --- a/src/event/ngx_event_timer.c | ||||
| +++ b/src/event/ngx_event_timer.c | ||||
| @@ -8,6 +8,7 @@ | ||||
| @ -870,9 +870,9 @@ index 8f547b2..6e77465 100644 | ||||
|          ev->handler(ev); | ||||
|      } | ||||
|  } | ||||
| @@ -136,3 +139,19 @@ ngx_event_cancel_timers(void) | ||||
|          ev->handler(ev); | ||||
|      } | ||||
| @@ -124,3 +127,19 @@ ngx_event_no_timers_left(void) | ||||
|   | ||||
|      return NGX_OK; | ||||
|  } | ||||
| + | ||||
| + | ||||
| @ -891,11 +891,11 @@ index 8f547b2..6e77465 100644 | ||||
| +} | ||||
| +#endif | ||||
| diff --git a/src/event/ngx_event_timer.h b/src/event/ngx_event_timer.h | ||||
| index 99f8a48..8bc619a 100644 | ||||
| index be81b157..c448771a 100644 | ||||
| --- a/src/event/ngx_event_timer.h | ||||
| +++ b/src/event/ngx_event_timer.h | ||||
| @@ -25,12 +25,23 @@ void ngx_event_expire_timers(void); | ||||
|  void ngx_event_cancel_timers(void); | ||||
|  ngx_int_t ngx_event_no_timers_left(void); | ||||
|   | ||||
|   | ||||
| +#if (NGX_DTRACE) | ||||
| @ -930,7 +930,7 @@ index 99f8a48..8bc619a 100644 | ||||
|                     "event timer add: %d: %M:%M", | ||||
|                      ngx_event_ident(ev->data), timer, ev->timer.key); | ||||
| diff --git a/src/http/ngx_http.c b/src/http/ngx_http.c | ||||
| index 0ceb613..986f717 100644 | ||||
| index c036389a..0e32f3d2 100644 | ||||
| --- a/src/http/ngx_http.c | ||||
| +++ b/src/http/ngx_http.c | ||||
| @@ -8,6 +8,7 @@ | ||||
| @ -952,7 +952,7 @@ index 0ceb613..986f717 100644 | ||||
|                  return NGX_CONF_ERROR; | ||||
|              } | ||||
| diff --git a/src/http/ngx_http_core_module.c b/src/http/ngx_http_core_module.c | ||||
| index 3f1b595..d6f61bf 100644 | ||||
| index 02059efd..194e62a0 100644 | ||||
| --- a/src/http/ngx_http_core_module.c | ||||
| +++ b/src/http/ngx_http_core_module.c | ||||
| @@ -8,6 +8,7 @@ | ||||
| @ -963,7 +963,7 @@ index 3f1b595..d6f61bf 100644 | ||||
|   | ||||
|   | ||||
|  typedef struct { | ||||
| @@ -2431,6 +2432,8 @@ ngx_http_subrequest(ngx_http_request_t *r, | ||||
| @@ -2448,6 +2449,8 @@ ngx_http_subrequest(ngx_http_request_t *r, | ||||
|      ngx_http_postponed_request_t  *pr, *p; | ||||
|   | ||||
|      if (r->subrequests == 0) { | ||||
| @ -972,9 +972,9 @@ index 3f1b595..d6f61bf 100644 | ||||
|          ngx_log_error(NGX_LOG_ERR, r->connection->log, 0, | ||||
|                        "subrequests cycle while processing \"%V\"", uri); | ||||
|          return NGX_ERROR; | ||||
| @@ -2557,6 +2560,8 @@ ngx_http_subrequest(ngx_http_request_t *r, | ||||
|   | ||||
|      *psr = sr; | ||||
| @@ -2596,6 +2599,8 @@ ngx_http_subrequest(ngx_http_request_t *r, | ||||
|          ngx_http_update_location_config(sr); | ||||
|      } | ||||
|   | ||||
| +    ngx_http_probe_subrequest_start(sr); | ||||
| + | ||||
| @ -983,7 +983,7 @@ index 3f1b595..d6f61bf 100644 | ||||
|   | ||||
| diff --git a/src/http/ngx_http_probe.h b/src/http/ngx_http_probe.h | ||||
| new file mode 100644 | ||||
| index 0000000..d7d2d45 | ||||
| index 00000000..d7d2d45d | ||||
| --- /dev/null | ||||
| +++ b/src/http/ngx_http_probe.h | ||||
| @@ -0,0 +1,75 @@ | ||||
| @ -1063,7 +1063,7 @@ index 0000000..d7d2d45 | ||||
| + | ||||
| +#endif /* _NGX_HTTP_PROBE_H_INCLUDED_ */ | ||||
| diff --git a/src/http/ngx_http_request.c b/src/http/ngx_http_request.c | ||||
| index 860b228..7d9fb5d 100644 | ||||
| index de1b2027..887cf6cd 100644 | ||||
| --- a/src/http/ngx_http_request.c | ||||
| +++ b/src/http/ngx_http_request.c | ||||
| @@ -8,6 +8,7 @@ | ||||
| @ -1074,7 +1074,7 @@ index 860b228..7d9fb5d 100644 | ||||
|   | ||||
|   | ||||
|  static void ngx_http_wait_request_handler(ngx_event_t *ev); | ||||
| @@ -1058,7 +1059,6 @@ ngx_http_process_request_line(ngx_event_t *rev) | ||||
| @@ -1091,7 +1092,6 @@ ngx_http_process_request_line(ngx_event_t *rev) | ||||
|      } | ||||
|  } | ||||
|   | ||||
| @ -1082,7 +1082,7 @@ index 860b228..7d9fb5d 100644 | ||||
|  ngx_int_t | ||||
|  ngx_http_process_request_uri(ngx_http_request_t *r) | ||||
|  { | ||||
| @@ -1315,6 +1315,8 @@ ngx_http_process_request_headers(ngx_event_t *rev) | ||||
| @@ -1348,6 +1348,8 @@ ngx_http_process_request_headers(ngx_event_t *rev) | ||||
|                  return; | ||||
|              } | ||||
|   | ||||
| @ -1091,7 +1091,7 @@ index 860b228..7d9fb5d 100644 | ||||
|              ngx_log_debug2(NGX_LOG_DEBUG_HTTP, r->connection->log, 0, | ||||
|                             "http header: \"%V: %V\"", | ||||
|                             &h->key, &h->value); | ||||
| @@ -2285,7 +2287,11 @@ ngx_http_finalize_request(ngx_http_request_t *r, ngx_int_t rc) | ||||
| @@ -2327,7 +2329,11 @@ ngx_http_finalize_request(ngx_http_request_t *r, ngx_int_t rc) | ||||
|      } | ||||
|   | ||||
|      if (r != r->main && r->post_subrequest) { | ||||
| @ -1103,7 +1103,7 @@ index 860b228..7d9fb5d 100644 | ||||
|      } | ||||
|   | ||||
|      if (rc == NGX_ERROR | ||||
| @@ -2335,6 +2341,8 @@ ngx_http_finalize_request(ngx_http_request_t *r, ngx_int_t rc) | ||||
| @@ -2393,6 +2399,8 @@ ngx_http_finalize_request(ngx_http_request_t *r, ngx_int_t rc) | ||||
|   | ||||
|          if (r->buffered || r->postponed) { | ||||
|   | ||||
| @ -1112,7 +1112,7 @@ index 860b228..7d9fb5d 100644 | ||||
|              if (ngx_http_set_write_handler(r) != NGX_OK) { | ||||
|                  ngx_http_terminate_request(r, 0); | ||||
|              } | ||||
| @@ -2370,10 +2378,14 @@ ngx_http_finalize_request(ngx_http_request_t *r, ngx_int_t rc) | ||||
| @@ -2425,10 +2433,14 @@ ngx_http_finalize_request(ngx_http_request_t *r, ngx_int_t rc) | ||||
|                  pr->postponed = pr->postponed->next; | ||||
|              } | ||||
|   | ||||
| @ -1127,7 +1127,7 @@ index 860b228..7d9fb5d 100644 | ||||
|              ngx_log_debug2(NGX_LOG_DEBUG_HTTP, c->log, 0, | ||||
|                             "http finalize non-active request: \"%V?%V\"", | ||||
|                             &r->uri, &r->args); | ||||
| @@ -2385,6 +2397,8 @@ ngx_http_finalize_request(ngx_http_request_t *r, ngx_int_t rc) | ||||
| @@ -2440,6 +2452,8 @@ ngx_http_finalize_request(ngx_http_request_t *r, ngx_int_t rc) | ||||
|              } | ||||
|          } | ||||
|   | ||||
| @ -1137,7 +1137,7 @@ index 860b228..7d9fb5d 100644 | ||||
|              r->main->count++; | ||||
|              ngx_http_terminate_request(r, 0); | ||||
| diff --git a/src/http/ngx_http_request_body.c b/src/http/ngx_http_request_body.c | ||||
| index e9562c0..2a65644 100644 | ||||
| index c4f092e5..67a8cbf9 100644 | ||||
| --- a/src/http/ngx_http_request_body.c | ||||
| +++ b/src/http/ngx_http_request_body.c | ||||
| @@ -8,6 +8,7 @@ | ||||
| @ -1148,7 +1148,7 @@ index e9562c0..2a65644 100644 | ||||
|   | ||||
|   | ||||
|  static void ngx_http_read_client_request_body_handler(ngx_http_request_t *r); | ||||
| @@ -471,6 +472,8 @@ ngx_http_do_read_client_request_body(ngx_http_request_t *r) | ||||
| @@ -421,6 +422,8 @@ ngx_http_do_read_client_request_body(ngx_http_request_t *r) | ||||
|          rb->post_handler(r); | ||||
|      } | ||||
|   | ||||
|  | ||||
		Reference in New Issue
	
	Block a user