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
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]