On Sat, Dec 12, 2009 at 5:53 AM, Daniel Pocock <[email protected]> wrote: > > > > Hi, > > There have been some discussions recently on the Ganglia list about the use > of a pollset that was created before a call to apr_proc_detach > > On BSD platforms, we find the kqueue style pollsets are not valid after > fork(). On other platforms, or if kqueue is disabled when compiling apr, > the pollsets do remain valid. > > Can anyone make any comment on this issue? We are keen to have > initialization tasks completed before forking, so that if initialization > fails, the caller will see the non-zero exit status. > > Here is a link to the thread on ganglia-developers, although I hope the > description above captures all the main points: > > http://www.mail-archive.com/[email protected]/msg05251.html
Its a flaw in the pollset implementation. I think we should fix it. I believe epoll backend has the same problem. The libev library documents several of these edge cases related to fork() and event libraries. -Paul
