$r->sleep()
Igor Sysoev
14 years ago
40 | 40 |
ngx_http_ssi_ctx_t *ssi_ctx, ngx_str_t **params);
|
41 | 41 |
#endif
|
42 | 42 |
|
|
43 |
static void ngx_http_perl_sleep_handler(ngx_http_request_t *r);
|
43 | 44 |
static char *ngx_http_perl_init_interpreter(ngx_conf_t *cf,
|
44 | 45 |
ngx_http_perl_main_conf_t *pmcf);
|
45 | 46 |
static PerlInterpreter *
|
|
244 | 245 |
ctx->filename.data = NULL;
|
245 | 246 |
ctx->redirect_uri.len = 0;
|
246 | 247 |
|
|
248 |
if (ctx->sleep) {
|
|
249 |
ngx_add_timer(r->connection->write, (ngx_msec_t) ctx->sleep);
|
|
250 |
r->write_event_handler = ngx_http_perl_sleep_handler;
|
|
251 |
ctx->sleep = 0;
|
|
252 |
}
|
|
253 |
|
247 | 254 |
if (ctx->done || ctx->next) {
|
248 | 255 |
return;
|
249 | 256 |
}
|
|
259 | 266 |
}
|
260 | 267 |
|
261 | 268 |
ngx_http_finalize_request(r, rc);
|
|
269 |
}
|
|
270 |
|
|
271 |
|
|
272 |
static void
|
|
273 |
ngx_http_perl_sleep_handler(ngx_http_request_t *r)
|
|
274 |
{
|
|
275 |
ngx_log_debug0(NGX_LOG_DEBUG_HTTP, r->connection->log, 0,
|
|
276 |
"perl sleep handler");
|
|
277 |
|
|
278 |
ngx_http_perl_handle_request(r);
|
262 | 279 |
}
|
263 | 280 |
|
264 | 281 |
|
22 | 22 |
ngx_str_t filename;
|
23 | 23 |
ngx_str_t redirect_uri;
|
24 | 24 |
ngx_str_t redirect_args;
|
|
25 |
|
25 | 26 |
SV *next;
|
|
27 |
int sleep;
|
26 | 28 |
|
27 | 29 |
ngx_uint_t done; /* unsigned done:1; */
|
28 | 30 |
|