aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/http/modules/perl/ngx_http_perl_module.c12
-rw-r--r--src/http/ngx_http_config.h6
2 files changed, 9 insertions, 9 deletions
diff --git a/src/http/modules/perl/ngx_http_perl_module.c b/src/http/modules/perl/ngx_http_perl_module.c
index bad2454ee..833e90f9d 100644
--- a/src/http/modules/perl/ngx_http_perl_module.c
+++ b/src/http/modules/perl/ngx_http_perl_module.c
@@ -1041,15 +1041,13 @@ ngx_http_perl_init_worker(ngx_cycle_t *cycle)
pmcf = ngx_http_cycle_get_module_main_conf(cycle, ngx_http_perl_module);
- {
-
- dTHXa(pmcf->perl);
- PERL_SET_CONTEXT(pmcf->perl);
-
- /* set worker's $$ */
+ if (pmcf) {
+ dTHXa(pmcf->perl);
+ PERL_SET_CONTEXT(pmcf->perl);
- sv_setiv(GvSV(gv_fetchpv("$", TRUE, SVt_PV)), (I32) ngx_pid);
+ /* set worker's $$ */
+ sv_setiv(GvSV(gv_fetchpv("$", TRUE, SVt_PV)), (I32) ngx_pid);
}
return NGX_OK;
diff --git a/src/http/ngx_http_config.h b/src/http/ngx_http_config.h
index 66292105a..74f6f6c51 100644
--- a/src/http/ngx_http_config.h
+++ b/src/http/ngx_http_config.h
@@ -69,8 +69,10 @@ typedef struct {
((ngx_http_conf_ctx_t *) cf->ctx)->loc_conf[module.ctx_index]
#define ngx_http_cycle_get_module_main_conf(cycle, module) \
- ((ngx_http_conf_ctx_t *) \
- cycle->conf_ctx[ngx_http_module.index])->main_conf[module.ctx_index]
+ (cycle->conf_ctx[ngx_http_module.index] ? \
+ ((ngx_http_conf_ctx_t *) cycle->conf_ctx[ngx_http_module.index]) \
+ ->main_conf[module.ctx_index]: \
+ NULL)
#endif /* _NGX_HTTP_CONFIG_H_INCLUDED_ */