[
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:[email protected]