Re: Модуль на C++ - возможно?

Sergey S. neavirc at gmail.com
Fri Mar 7 18:55:48 MSK 2008


Здравствуйте.

Еще одна засада возникла =) В модуле используется map<string, string> для
хранения конфигурации, и средствами nginx'а под нее память выделяется как-то
неправильно. При обращении к контейнеру в обработчике для директив nginx
падает в сегфолт.

Поэтому память приходится выделять так:

static void* ngx_http_test_create_loc_conf(ngx_conf_t *cf)
{
  ngx_http_test_loc_conf_t  *conf = new  ngx_http_test_loc_conf_t; // где
ngx_http_test_loc_conf_t == map<string, string>

  return conf;
}

Вопрос: как ее правильно освобождать? Сейчас память освобождается в коллбеке
(но есть подозрения, что могут быть последствия):

void ngx_http_test_exit_process(ngx_cycle_t* cycle)
{
  delete g_conf;
}

где g_conf - глобальный указатель на map<string,string>.

С уважением,
Сергей Самохин.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://nginx.org/pipermail/nginx-ru/attachments/20080307/4fda1fca/attachment.html>


More information about the nginx-ru mailing list