On Wed, Feb 10, 2010 at 02:18:17PM +0100, Enrico Scholz wrote: > Enrico Scholz > <enrico.scholz-jNDFPZUTrfQ+B2oLq8eQJv4efur1V5z/s0AfqQuZ5sE@...> > writes: > > > This seems to happen when two hosts connect within a very short time. I > > think that GeoIP_id_by_name() is called for the second host while this > > function is still executed for the first one. As both are operating on > > the same 'geoip_handle' handle, this will corrupt internal state when > > geoip is not reentrant. > > While looking over the code it seems that other subsystems have similar > issues. E.g. 'p0f' uses a shared 'p0fsock' socket in non-atomic > reconnect-write-read sequences. Ditto for 'spamd'. I don't understand. Why should we lock that? In case of spamd, every thread talks to a separate spamd child through its own socket fd.. Petar Bogdanovic
Message
Re: [milter-greylist] Re: Segfault due to non-reentrant GeoIP?
2010-02-10 by Petar Bogdanovic