comparison src/http/modules/perl/nginx.xs @ 366:babd3d9efb62 NGINX_0_6_27

nginx 0.6.27 *) Change: now by default the rtsig method is not built on Linux 2.6.18+. *) Change: now a request method is not changed while redirection to a named location via an "error_page" directive. *) Feature: the "resolver" and "resolver_timeout" directives in SMTP proxy. *) Feature: the "post_action" directive supports named locations. *) Bugfix: a segmentation fault occurred in worker process, if a request was redirected from proxy, FastCGI, or memcached location to static named locations. *) Bugfix: browsers did not repeat SSL handshake if there is no valid client certificate in first handshake. Thanks to Alexander V. Inyukhin. *) Bugfix: if response code 495-497 was redirected via an "error_page" directive without code change, then nginx tried to allocate too many memory. *) Bugfix: memory leak in long-lived non buffered connections. *) Bugfix: memory leak in resolver. *) Bugfix: a segmentation fault occurred in worker process, if a request was redirected from proxy, FastCGI, or memcached location to static named locations. *) Bugfix: in the $proxy_host and $proxy_port variables caching. Thanks to Sergey Bochenkov. *) Bugfix: a "proxy_pass" directive with variables used incorrectly the same port as in another "proxy_pass" directive with the same host name and without variables. Thanks to Sergey Bochenkov. *) Bugfix: an alert "sendmsg() failed (9: Bad file descriptor)" on some 64-bit platforms while reconfiguration. *) Bugfix: a segmentation fault occurred in worker process, if empty stub block was used second time in SSI. *) Bugfix: in copying URI part contained escaped symbols into arguments.
author Igor Sysoev <http://sysoev.ru>
date Wed, 12 Mar 2008 00:00:00 +0300
parents 54fad6c4b555
children 984bb0b1399b
comparison
equal deleted inserted replaced
365:9b0140fa1132 366:babd3d9efb62
931 931
932 void 932 void
933 sleep(r, sleep, next) 933 sleep(r, sleep, next)
934 CODE: 934 CODE:
935 935
936 dXSTARG;
937 ngx_http_request_t *r; 936 ngx_http_request_t *r;
937 ngx_msec_t sleep;
938 ngx_http_perl_ctx_t *ctx; 938 ngx_http_perl_ctx_t *ctx;
939 939
940 ngx_http_perl_set_request(r); 940 ngx_http_perl_set_request(r);
941 941
942 sleep = (ngx_msec_t) SvIV(ST(1));
943
944 ngx_log_debug1(NGX_LOG_DEBUG_HTTP, r->connection->log, 0,
945 "perl sleep: %M", sleep);
946
942 ctx = ngx_http_get_module_ctx(r, ngx_http_perl_module); 947 ctx = ngx_http_get_module_ctx(r, ngx_http_perl_module);
943 948
944 ctx->sleep = SvIV(ST(1));
945 ctx->next = SvRV(ST(2)); 949 ctx->next = SvRV(ST(2));
946 950
947 ngx_log_debug1(NGX_LOG_DEBUG_HTTP, r->connection->log, 0, 951 ngx_add_timer(r->connection->write, sleep);
948 "perl sleep: %d", ctx->sleep); 952
953 r->write_event_handler = ngx_http_perl_sleep_handler;
949 954
950 955
951 void 956 void
952 log_error(r, err, msg) 957 log_error(r, err, msg)
953 CODE: 958 CODE: