qpid-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Azim Fatehi (JIRA)" <qpid-...@incubator.apache.org>
Subject [jira] Created: (QPID-2388) user-defined signals can cause process terminate
Date Wed, 03 Feb 2010 21:21:27 GMT
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:dev-subscribe@qpid.apache.org


Mime
View raw message