Hello,

http://nginx.org/en/docs/debugging_log.html and associated literature instruct 
to dump the contents of a “memory” error_log target via gdb memory dump. How is 
it possible to do this for a given nginx worker process, when other worker 
processes are serving connections simultaneously and generating error logs to 
the shared memory zone (at least, I’m assuming it’s shared by all workers, 
since it’s allocated from the conf pool during configuration parsing). Is it 
possible other workers are memcpy() with a dst pointing to the buffer where a 
simultaneous gdb memory dump is executing? Wouldn’t this potentially cause 
corruption of the read data?

The origin of my question was hacking on a routine that would dump the memory 
buffer to a file from within nginx directly, rather than probing into the 
process with gdb- at first it looks trivial to just write() the whole buffer, 
but since there’s no synchronization mechanism, I anticipate this would cause 
problems in a busy environment. 

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

Reply via email to