Hi Corinna, thanks for the quick fix, I tested both mq_timedreceive and mq_timedsend and they are working as expected.
Sorry for the false alarm though, I overlooked that those are two parameters. This should be the correct call: msgQueue = mq_open(QUEUE_NAME, O_RDWR | O_CREAT | O_EXCL | O_NONBLOCK, S_IRWXU | S_IRWXG, &attrQueue); Since I always try to eliminate any influence from my project and to track down the source of the problem, a test case usually comes natural. Manuel > -----Original Message----- > From: Corinna Vinschen > Sent: Thursday, March 03, 2011 5:32 PM > > On Mar 3 12:13, Corinna Vinschen wrote: > > On Mar 3 10:57, Manuel Wienand wrote: > > > Hi, > > > > > > I have a problem with the mqueues. > > > If I use mq_timedreceive() and do not set O_NONBLOCK, > mq_timedreceive() blocks forever and eats 100% of one cpu core. > > > If I use mq_receive() and set O_NONBLOCK, mq_receive() blocks > forever (0% cpu). > > > > Thanks for the testcase! I can reproduce it. I'm a bit out of > > spare time right now, but I think I'll have a fix soon. Stay tuned. > > Ok, I applied a patch to fix the mq_timedreceive problem. mq_timedsend > was affected by this problem as well. I'm just generating a new > developer snapshot for testing. > > The other problem is a PEBKAC, though. Here's the open call from your > testcase, which you used to reproduce the mq_receive block if > O_NONBLOCK > is given. For clearness, I split the arguments into multiple lines: > > msgQueue = mq_open(QUEUE_NAME, > O_RDWR | O_CREAT | O_EXCL, > S_IRWXU | S_IRWXG | O_NONBLOCK, > &attrQueue); > > Do you see the problem? > > Anyway, in the meantime the new snapshot has been uploaded. Please try > the latest developer snapshot from http://cygwin.com/snapshots/ > > Thanks again for the testcase. Debugging and fixing bugs is a lot more > fun with those. > > > Corinna > > -- > Corinna Vinschen Please, send mails regarding Cygwin > to > Cygwin Project Co-Leader cygwin AT cygwin DOT com > Red Hat > > -- > Problem reports: http://cygwin.com/problems.html > FAQ: http://cygwin.com/faq/ > Documentation: http://cygwin.com/docs.html > Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple > > > -- > This message has been scanned for viruses and > dangerous content by MailScanner, and is > believed to be clean.