On Thu, Mar 26, 2009 at 3:54 PM, <[email protected]> wrote:
I've got Cygwin's libapr1 1.3.3-1 > > I've built Ganglia (3.1.0) from source and it works. > > I then modify this line of code in gmond.c, adding the flag > APR_POLLSET_THREADSAFE: > > apr_pollset_create(&listen_channels, total_listen_channels, > global_context, APR_POLLSET_THREADSAFE); > > Now, after adding a socket to the pollset, there is a segmentation > fault. gdb is unable to show me a backtrace. APR_POLLSET_THREADSAFE isn't supported with all implementations. I expect that apr_pollset_create() is returning APR_ENOTIMPL, and the crash is due to an uninitialized pollset. Just curious: Does Ganglia modify the pollset on a separate thread than the poll (thus needing APR_POLLSET_THREADSAFE), and if so why doesn't it already specify APR_POLLSET_THREADSAFE *and* check the apr_pollset_create() return code? And if it doesn't need it, what do you expect to gain by adding it?
