pass command lines options to workers
diff --git a/src/core/nginx.c b/src/core/nginx.c index 63185bc..f08af79 100644 --- a/src/core/nginx.c +++ b/src/core/nginx.c
@@ -540,6 +540,8 @@ ngx_core_conf_t *ccf; ngx_listening_t *ls; + ngx_memzero(&ctx, sizeof(ngx_exec_ctx_t)); + ctx.path = argv[0]; ctx.name = "new binary process"; ctx.argv = argv;
diff --git a/src/os/win32/ngx_process.c b/src/os/win32/ngx_process.c index bd49340..bbc7afa 100644 --- a/src/os/win32/ngx_process.c +++ b/src/os/win32/ngx_process.c
@@ -58,6 +58,7 @@ ctx.path = file; ctx.name = name; + ctx.args = GetCommandLine(); ctx.argv = NULL; ctx.envp = NULL; @@ -195,7 +196,7 @@ ngx_memzero(&pi, sizeof(PROCESS_INFORMATION)); - if (CreateProcess(ctx->path, /* STUB */ NULL, + if (CreateProcess(ctx->path, ctx->args, NULL, NULL, 0, CREATE_NO_WINDOW, NULL, NULL, &si, &pi) == 0) {
diff --git a/src/os/win32/ngx_process.h b/src/os/win32/ngx_process.h index 49eef78..520a55b 100644 --- a/src/os/win32/ngx_process.h +++ b/src/os/win32/ngx_process.h
@@ -41,6 +41,7 @@ typedef struct { char *path; char *name; + char *args; char *const *argv; char *const *envp; HANDLE child;