[ https://issues.apache.org/jira/browse/QPID-2388?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12881547#action_12881547 ]
Andrew Stitcher commented on QPID-2388: --------------------------------------- On reflection I concluded that there is actually no very good reason to unmask signal handling whilst waiting for IO to happen: The only place we actually use signals in qpid is to cause the broker to exit, and a tester. So I fixed this issue by no longer unmasking signals here. > user-defined signals can cause process terminate > ------------------------------------------------ > > Key: QPID-2388 > URL: https://issues.apache.org/jira/browse/QPID-2388 > Project: Qpid > Issue Type: Bug > Components: C++ Client > Affects Versions: 0.5 > Environment: Linux > Reporter: Azim Fatehi > Assignee: Andrew Stitcher > Fix For: 0.7 > > > I have an application which uses some user-defined signals for process > control. When trying to bind qpid in to this application I've found that the > client library spawns an i/o thread which ignores signal masks that the > process has defined before making any calls to qpid. The i/o thread changes > it's own signal mask to sigemptyset and is catching signals intended for > another thread in my process which has called sigtimedwait(). The default > action for user defined signals is process terminate, so the process is > subsequently dying. > I've made the following change to EpollPoller.cpp to work around the problem > within my environment: > $ diff -w EpollPoller.cpp EpollPoller-fixed.cpp > 248c248 > < ::sigemptyset(&sigMask); > --- > > ::sigfillset(&sigMask); -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online. --------------------------------------------------------------------- Apache Qpid - AMQP Messaging Implementation Project: http://qpid.apache.org Use/Interact: mailto:dev-subscr...@qpid.apache.org