Variables in FreeBSD

Maxim Dounin mdounin at
Mon Apr 27 01:11:15 MSD 2009


On Sun, Apr 26, 2009 at 10:34:17AM -0400, dalspenguin wrote:

> Hello,
> I have created nginx module (compile by gcc) and found that nginx does not support VARIABLES on the FreeBSD os.
> I try to use it like 
> ngx_str_t name = {r->variables[1].len, (unsigned char *) r->variables[1].data};
> However every time I get errors in the error.log file: signal 11
> It's works perfect on the Ubuntu os. I've read VARIABLES are not supported for the nginx 0.7.52. But I need to get the value of variables when I call my module from nginx.conf like
> set_module_value $returnedValue $incomingValue
> Could anyone help me to get a value from the variable $incomingValue on FreeBSD OS?
> Is there any way to get variable value on FreeBSD OS?

It's not really OS related.  It's just the fact that your 
broken code happend to work under Ubuntu for some reason.

You shouldn't even try to access r->variables by hand.  Use 
ngx_http_variables.[ch] functions instead.

If you know variable name at configuration stage, you should 
probably use ngx_http_get_variable_index() during parsing config 
and store returned index, and then use 
ngx_http_get_indexed_variable() during request processing.

Multiple examples of variable usage may be found in various 
official nginx modules, read source for details.

Maxim Dounin

More information about the nginx mailing list