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/
