aboutsummaryrefslogtreecommitdiff
path: root/src/core/ngx_cycle.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/core/ngx_cycle.c')
-rw-r--r--src/core/ngx_cycle.c55
1 files changed, 12 insertions, 43 deletions
diff --git a/src/core/ngx_cycle.c b/src/core/ngx_cycle.c
index 989973a98..5a19f302f 100644
--- a/src/core/ngx_cycle.c
+++ b/src/core/ngx_cycle.c
@@ -24,7 +24,6 @@ static ngx_connection_t dumb;
ngx_cycle_t *ngx_init_cycle(ngx_cycle_t *old_cycle)
{
void *rv;
- u_char *root;
ngx_uint_t i, n, failed;
ngx_log_t *log;
ngx_conf_t conf;
@@ -34,7 +33,6 @@ ngx_cycle_t *ngx_init_cycle(ngx_cycle_t *old_cycle)
ngx_open_file_t *file;
ngx_listening_t *ls, *nls;
ngx_core_module_t *module;
- char cwd[NGX_MAX_PATH + 1];
log = old_cycle->log;
@@ -51,42 +49,8 @@ ngx_cycle_t *ngx_init_cycle(ngx_cycle_t *old_cycle)
cycle->log = log;
cycle->old_cycle = old_cycle;
cycle->conf_file = old_cycle->conf_file;
-
-
- for (i = cycle->conf_file.len; i > 0; i--) {
- if (cycle->conf_file.data[i] == '/') {
- break;
- }
- }
-
- if (i == 0 && cycle->conf_file.data[i] != '/') {
- if (ngx_getcwd(cwd, NGX_MAX_PATH) == 0) {
- ngx_log_error(NGX_LOG_EMERG, log, ngx_errno,
- ngx_getcwd_n " failed");
- ngx_destroy_pool(pool);
- return NULL;
- }
-
- for ( /* void */; i < NGX_MAX_PATH && cwd[i]; i++) /* void */;
- cwd[i] = '/';
- cwd[i + 1] = '\0';
-
- root = (u_char *) cwd;
-
- } else {
- root = cycle->conf_file.data;
- }
-
- cycle->root.len = ++i;
- cycle->root.data = ngx_palloc(pool, ++i);
- if (cycle->root.data == NULL) {
- ngx_destroy_pool(pool);
- return NULL;
- }
-
- ngx_cpystrn(cycle->root.data, root, i);
-
- ngx_log_error(NGX_LOG_INFO, log, 0, "root: %s", cycle->root.data);
+ cycle->root.len = sizeof(NGX_PREFIX) - 1;
+ cycle->root.data = (u_char *) NGX_PREFIX;
n = old_cycle->pathes.nelts ? old_cycle->pathes.nelts : 10;
@@ -472,12 +436,13 @@ ngx_cycle_t *ngx_init_cycle(ngx_cycle_t *old_cycle)
ngx_int_t ngx_create_pidfile(ngx_cycle_t *cycle, ngx_cycle_t *old_cycle)
{
+ ngx_uint_t trunc;
size_t len;
u_char *name, pid[NGX_INT64_LEN + 1];
ngx_file_t file;
ngx_core_conf_t *ccf, *old_ccf;
- if (old_cycle && old_cycle->conf_ctx == NULL) {
+ if (!ngx_test_config && old_cycle && old_cycle->conf_ctx == NULL) {
/*
* do not create the pid file in the first ngx_init_cycle() call
@@ -489,7 +454,7 @@ ngx_int_t ngx_create_pidfile(ngx_cycle_t *cycle, ngx_cycle_t *old_cycle)
ccf = (ngx_core_conf_t *) ngx_get_conf(cycle->conf_ctx, ngx_core_module);
- if (old_cycle) {
+ if (!ngx_test_config && old_cycle) {
old_ccf = (ngx_core_conf_t *) ngx_get_conf(old_cycle->conf_ctx,
ngx_core_module);
@@ -506,8 +471,10 @@ ngx_int_t ngx_create_pidfile(ngx_cycle_t *cycle, ngx_cycle_t *old_cycle)
file.name = (ngx_inherited && getppid() > 1) ? ccf->newpid : ccf->pid;
file.log = cycle->log;
+ trunc = ngx_test_config ? 0: NGX_FILE_TRUNCATE;
+
file.fd = ngx_open_file(file.name.data, NGX_FILE_RDWR,
- NGX_FILE_CREATE_OR_OPEN|NGX_FILE_TRUNCATE);
+ NGX_FILE_CREATE_OR_OPEN|trunc);
if (file.fd == NGX_INVALID_FILE) {
ngx_log_error(NGX_LOG_EMERG, cycle->log, ngx_errno,
@@ -515,8 +482,10 @@ ngx_int_t ngx_create_pidfile(ngx_cycle_t *cycle, ngx_cycle_t *old_cycle)
return NGX_ERROR;
}
- if (ngx_write_file(&file, pid, len, 0) == NGX_ERROR) {
- return NGX_ERROR;
+ if (!ngx_test_config) {
+ if (ngx_write_file(&file, pid, len, 0) == NGX_ERROR) {
+ return NGX_ERROR;
+ }
}
if (ngx_close_file(file.fd) == NGX_FILE_ERROR) {