Re: [Libevent-users] SIGPIPE in multithreaded program

2008-01-22 Thread William Ahern
On Tue, Jan 22, 2008 at 02:08:40PM +0100, Hannah Schroeter wrote: > >With SIGPIPE the answer is simple, though. Block the signal from the main > >thread before creating any other threads. All threads will inherit the > >block, and SIGPIPE can never squeeze through. > > I think you mean *ignore* S

Re: [Libevent-users] SIGPIPE in multithreaded program

2008-01-22 Thread Hannah Schroeter
Hi! On Tue, Jan 22, 2008 at 12:52:51AM -0800, William Ahern wrote: >Signal handlers and masks are inherited across fork() and pthread_create(). >And masks are inherited across exec(), too, I think. >You could add code to each thread to do this. Of course, there are race >conditions. Imagine if a

Re: [Libevent-users] SIGPIPE in multithreaded program

2008-01-22 Thread Ron Arts
William Ahern schreef: > > Signal handlers and masks are inherited across fork() and pthread_create(). > And masks are inherited across exec(), too, I think. > Yes, of course, I should've thought of that myself. > You could add code to each thread to do this. Of course, there are race > condit

Re: [Libevent-users] SIGPIPE in multithreaded program

2008-01-22 Thread William Ahern
On Tue, Jan 22, 2008 at 08:51:55AM +0100, Ron Arts wrote: > Oops, I'm sorry, I did not make myself clear, while writing the > email I edited it a lot, and forgot to mention that indeed I > ignore SIGPIPE in my initialisation code: > > > But my program is still being killed with SIGPIPE occasion

Re: [Libevent-users] SIGPIPE in multithreaded program

2008-01-21 Thread Ron Arts
William Ahern wrote: On Tue, Jan 22, 2008 at 01:06:30AM +0100, Ron Arts wrote: Hi, I am using libevent in a multithreaded program, the main thread containing the libevent loop, and other threads doing disk I/O. From mail from this list, and the changelogs I was under the impression that libeven

Re: [Libevent-users] SIGPIPE in multithreaded program

2008-01-21 Thread William Ahern
On Tue, Jan 22, 2008 at 01:06:30AM +0100, Ron Arts wrote: > Hi, > > I am using libevent in a multithreaded program, the main > thread containing the libevent loop, and other threads > doing disk I/O. From mail from this list, and the changelogs > I was under the impression that libevent handles si