Mercurial > hg > nginx
comparison src/http/ngx_http_variables.c @ 2249:852fe29e6446
$pid
author | Igor Sysoev <igor@sysoev.ru> |
---|---|
date | Mon, 15 Sep 2008 16:41:08 +0000 |
parents | f62751dab60d |
children | 0864138899f1 |
comparison
equal
deleted
inserted
replaced
2248:1adec90a0e46 | 2249:852fe29e6446 |
---|---|
75 ngx_http_variable_value_t *v, uintptr_t data); | 75 ngx_http_variable_value_t *v, uintptr_t data); |
76 | 76 |
77 static ngx_int_t ngx_http_variable_nginx_version(ngx_http_request_t *r, | 77 static ngx_int_t ngx_http_variable_nginx_version(ngx_http_request_t *r, |
78 ngx_http_variable_value_t *v, uintptr_t data); | 78 ngx_http_variable_value_t *v, uintptr_t data); |
79 static ngx_int_t ngx_http_variable_hostname(ngx_http_request_t *r, | 79 static ngx_int_t ngx_http_variable_hostname(ngx_http_request_t *r, |
80 ngx_http_variable_value_t *v, uintptr_t data); | |
81 static ngx_int_t ngx_http_variable_pid(ngx_http_request_t *r, | |
80 ngx_http_variable_value_t *v, uintptr_t data); | 82 ngx_http_variable_value_t *v, uintptr_t data); |
81 | 83 |
82 /* | 84 /* |
83 * TODO: | 85 * TODO: |
84 * Apache CGI: AUTH_TYPE, PATH_INFO (null), PATH_TRANSLATED | 86 * Apache CGI: AUTH_TYPE, PATH_INFO (null), PATH_TRANSLATED |
225 0, 0, 0 }, | 227 0, 0, 0 }, |
226 | 228 |
227 { ngx_string("hostname"), NULL, ngx_http_variable_hostname, | 229 { ngx_string("hostname"), NULL, ngx_http_variable_hostname, |
228 0, 0, 0 }, | 230 0, 0, 0 }, |
229 | 231 |
232 { ngx_string("pid"), NULL, ngx_http_variable_pid, | |
233 0, 0, 0 }, | |
234 | |
230 { ngx_null_string, NULL, NULL, 0, 0, 0 } | 235 { ngx_null_string, NULL, NULL, 0, 0, 0 } |
231 }; | 236 }; |
232 | 237 |
233 | 238 |
234 ngx_http_variable_value_t ngx_http_variable_null_value = | 239 ngx_http_variable_value_t ngx_http_variable_null_value = |
1351 | 1356 |
1352 return NGX_OK; | 1357 return NGX_OK; |
1353 } | 1358 } |
1354 | 1359 |
1355 | 1360 |
1361 static ngx_int_t | |
1362 ngx_http_variable_pid(ngx_http_request_t *r, | |
1363 ngx_http_variable_value_t *v, uintptr_t data) | |
1364 { | |
1365 u_char *p; | |
1366 | |
1367 p = ngx_pnalloc(r->pool, NGX_INT64_LEN); | |
1368 if (p == NULL) { | |
1369 return NGX_ERROR; | |
1370 } | |
1371 | |
1372 v->len = ngx_sprintf(p, "%P", ngx_pid) - p; | |
1373 v->valid = 1; | |
1374 v->no_cacheable = 0; | |
1375 v->not_found = 0; | |
1376 v->data = p; | |
1377 | |
1378 return NGX_OK; | |
1379 } | |
1380 | |
1381 | |
1356 ngx_int_t | 1382 ngx_int_t |
1357 ngx_http_variables_add_core_vars(ngx_conf_t *cf) | 1383 ngx_http_variables_add_core_vars(ngx_conf_t *cf) |
1358 { | 1384 { |
1359 ngx_int_t rc; | 1385 ngx_int_t rc; |
1360 ngx_http_variable_t *v; | 1386 ngx_http_variable_t *v; |