activemq-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Devin Venable <venable.de...@gmail.com>
Subject CMS and EINTR signal
Date Fri, 17 Sep 2010 15:18:04 GMT
I've got a question for the developers of CMS.  If this isn't the best
forum, please direct me to the the best place to pose such questions.

I've implemented an activemq-cpp producer on a program that reads and
writes to a Linux message queue (#include <mqueue.h>). I noticed that
my program was intermittently shutting down, and the cause is logic
that reads from the queue, checks for an error, and then continues if
all is well. Since implementing activemq, a new error type is showing
up that wasn't handled by our logic: EINTR which means "Interrupted
system call".

Note that I only see this when I set CMS to run in async mode, using this flag:

useAsyncSend=true

I need to run the producer in async mode because I can't block if
ActiveMQ can't be reached for some reason.

So my questions are:
Is this behavior normal or expected?
Is there a different combination of flags that I should use when
starting the producer?

I can write code that handles the EINTR case, and from what I've read,
this code should probably already be doing that.  But I wanted to
learn more about what might be causing this as well.

Mime
View raw message