Whups, thanks :)

A curious point then, why ngx_atomic_fetch_add is used to advance the buffer 
position, if an atomic operation isn’t necessary since the buffer isn’t shared. 
Is it a style choice?

Sent from my iPhone

> On Jan 8, 2020, at 16:50, Datong Sun <[email protected]> wrote:
> 
> 
> Hello Robert,
> 
> My impression is that the cyclic memory buffer is not shared across workers. 
> The memory is allocated using ngx_pnalloc and that is not the shared memory 
> zone. After fork each worker would have their own buffer instead.
> 
> Which probably explains why this is only suitable for debugging, as you have 
> to know the worker you are trying to debug in order to access the logs this 
> way.
> 
> Thanks,
> Datong
> 
>> On Fri, Jan 3, 2020 at 8:00 PM Robert Paprocki 
>> <[email protected]> wrote:
>> 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
> 
> 
> -- 
>               
> Datong Sun
> 
> Systems Engineer @ Kong 
> 
> 150 Spear Street, Suite 1600
> San Francisco, CA 94105
> 
> 
> _______________________________________________
> nginx-devel mailing list
> [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