Hi,

My data are not located in a configuration file, all data can be updated in 
real-time without reloading. A single POST request triggers update of the 
information by the worker that handles the request and all workers can then use 
updated information simultaneously.

There may be possibilities to bypass the issue but so far, I’d like to 
understand why only this specific piece of data is lost, where everything else 
is kept.

Regards,
Thierry

De : Sergey Brester [mailto:[email protected]]
Envoyé : mercredi 22 juin 2016 11:48
À : [email protected]
Cc : MAGNIEN, Thierry
Objet : Re: [module dev] PCRE compiled code lost at reload


A little bit off-topic, but which benefits you think, you will get using cross 
process compiled regexp?

The compiling of regex is normally fast operation, that will be done only once 
(even jit), and can be done in each worker.
What I cannot imagine, is the sharing of the result of regexp execution. But 
not the regexp self.
Regards, sebres.

22.06.2016 11:31, MAGNIEN, Thierry wrote:

Hi,



I'm experiencing a strange behavior and I wonder if I'm missing something 
obvious...



I've developed a module and I use shared memory and slab allocations to keep 
data unique across workers and have data survive a reload.



Everything works fine except one single thing: PCRE compiled codes 
(ngx_regex_compile_t->regex->code).



To be more precise, at reload, in my module init function, I recompile some of 
the PCRE if they have changed, still using shared memory. What I notice is 
that, just after init module function has returned, all dying workers lose PCRE 
compiled code (regex->code = 0), where all new created workers correctly get 
new compiled code.



I tried to use my own pcre_malloc function in order to be sure memory is 
allocated in shared memory (and this *is* the case), but without success.



So any help is welcome: does anyone have a clue about why only those data are 
"lost" by dying workers ?



Thanks a lot for your help,

Thierry Magnien



P.S.: I can't exhibit code for confidentiality reasons but if no one has a 
clue, I'll try to write a very simple module, only to exhibit this behavior.



_______________________________________________

nginx-devel mailing list

[email protected]<mailto:[email protected]>

http://mailman.nginx.org/mailman/listinfo/nginx-devel
_______________________________________________
nginx-devel mailing list
[email protected]
http://mailman.nginx.org/mailman/listinfo/nginx-devel

Reply via email to