activemq-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Timothy Bish <tabish...@gmail.com>
Subject Re: CMS and EINTR signal
Date Fri, 17 Sep 2010 15:24:24 GMT
On Fri, 2010-09-17 at 10:18 -0500, Devin Venable wrote:
> 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".
> 

What version of ActiveMQ-CPP are you using?
What OS and Compiler?

Have you tracked where the EINTR signal is coming from?  It shouldn't be
coming from CMS unless there is a bug in the code.  It would be helpful
to know what operation is throwing the EINTR signal.

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

Regards

-- 
Tim Bish

Open Source Integration: http://fusesource.com

Follow me on Twitter: http://twitter.com/tabish121
My Blog: http://timbish.blogspot.com/


Mime
View raw message