env lost effect in single process mode

Igor Sysoev igor at sysoev.ru
Mon Dec 13 13:54:04 MSK 2010


On Mon, Dec 13, 2010 at 02:42:06AM -0500, speedfirst wrote:

> Hey, I find when I set daemon off and master_process off to enter the
> dev single process mode, env simply doesn't work. My custom module
> depending on that env can't find them. So I check the code and find in
> ngx_single_process_cycle, ngx_set_environment is not invoked. So I add
> it like fellow code. Maybe u can fix this little bug in your main nginx
> branch.
> 
> [code]
> void
> ngx_single_process_cycle(ngx_cycle_t *cycle)
> {
>     ngx_uint_t  i;
> 
>     if (ngx_set_environment(cycle, NULL) == NULL) { <--- add this code
>             /* fatal */
>             exit(2);
>     }
> 
>     for (i = 0; ngx_modules[i]; i++) {
>         if (ngx_modules[i]->init_process) {
>             if (ngx_modules[i]->init_process(cycle) == NGX_ERROR) {
>                 /* fatal */
>                 exit(2);
>             }
>         }
>     }
> [/code]

OK, I will add it in 0.9.3, however, please note that single process mode
was never intended to run in production: there are issues related to
reconfiguration (HUP signal).


-- 
Igor Sysoev
http://sysoev.ru/en/



More information about the nginx mailing list