[dev] change in ngx_conf_merge_ptr_value for 0.5.33

Manlio Perillo manlio_perillo at libero.it
Sun Nov 25 20:48:31 MSK 2007


Manlio Perillo ha scritto:
> [...]
> 
> In ngx_http_wsgi_create_loc_conf I set:
> wlcf->callable_object = NGX_CONF_UNSET_PTR;
> 
> and in ngx_http_wsgi_merge_loc_conf:
> ngx_conf_merge_ptr_value(conf->callable_object, prev->callable_object,
>                          "application");
> 
> 
> 
> When directive wsgi_callable_object is not defined, then it defaults to 
> "application".
> 
> However if I define the directive in configuration file:
> location / {
>     wsgi_alias /usr/local/nginx/nginx-simple.py;
>     wsgi_callable_object application;
> }
> 
> I get a:
> 2007/11/25 18:07:08 [emerg] 19458#0: "wsgi_callable_object" directive is 
> duplicate in nginx-simple.conf:51
> 

Ok, I have fixed the problem with my code.

> 
> 
> To understand how this works, I have tested fastcgi_catch_stderr (not 
> documented):
> 
> location /test {
>     fastcgi_pass 127.0.0.1:9000;
>     fastcgi_catch_stderr ops;
> }
> 
> 
> but I get a segmentation fault:
> 

ngx_conf_set_str_array_slot(ngx_conf_t *cf, ngx_command_t *cmd, void *conf)
{
     char  *p = conf;

     ngx_str_t         *value, *s;
     ngx_array_t      **a;
     ngx_conf_post_t   *post;

     a = (ngx_array_t **) (p + cmd->offset);

-    if (*a == NULL) {
+    if (*a == NGX_CONF_UNSET_PTR) {




Manlio Perillo





More information about the nginx mailing list