[Patch] nginx to use libatomic_ops

Maxim Dounin mdounin at mdounin.ru
Mon Oct 12 04:54:41 MSD 2009


Hello!

On Tue, Sep 29, 2009 at 12:26:43PM +0200, W-Mark Kubacki wrote:

> 2009/9/29 Igor Sysoev <is at rambler-co.ru>:
> > On Fri, Sep 25, 2009 at 09:46:33PM +0200, W-Mark Kubacki wrote:
> >
> >>
> >> I have experienced SEGFAULTs on ARM using fastcgi and discovered it
> >> compiles with "NGX_HAVE_ATOMIC_OPS 0" on 'other' architectures than
> >> x86, amd64, sparc and the such defined in src/os/unix/ngx_atomic.h.
> >>
> >> Therefore I'd like to contribute the patch linked below [1], which
> >> introduces configure option "--with-libatomic" [...]
> >
> > Thank you for the patch and information about gcc 4.1.
> > I'm going to add gcc builtins, since they are slighty lesser than
> > my code at least on x86.
> > I'm not sure should libatomic be added, since gcc 4.1+ is common compiler
> > these days.
> > Could you show backtrace of the segfault ? I could not reproduce it
> > on x86 with disabled atomic ops.
> 
> The segfaults happened on ARM architecture, not x86.
> Eliminating lock_file by introducing atomic ops the only code which
> got not called after that were the emulations at the bottom of
> ngx_atomic.h.

Just for the record: I've tried to reproduce the problem on 
QEMU-emulated ARM but failed.  Everything works fine for me.

Could you please provide some more details?  Hardware, OS, 
nginx -V output, config and request pattern which triggers fault, 
backtrace, etc...

Maxim Dounin





More information about the nginx mailing list