This is the mail archive of the ecos-patches@sources.redhat.com mailing list for the eCos project.
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |
Other format: | [Raw text] |
Hi, The attached patch attempts to correct a problem with mq_timedsend() and mq_timedreceived() when used with very short timeouts. According to POSIX: mq_timedsend(): "Under no circumstance shall the operation fail with a timeout if there is sufficient room in the queue to add the message immediately." mq_timedreceive(): "Under no circumstance shall the operation fail with a timeout if a message can be removed from the message queue immediately." However, the eCos implementation (2.0) seems to time out whenever it can, regardless of whether the operation could actually be performed at the time. (I noticed this when I tried to use an abstime equivalent to a zero timeout, in order to achieve a one-shot non-blocking operation without actually changing the mode of the queue.) -- Rickard Westman Phone: +46 13 218120 Software Engineer GSM: +46 70 3020918 27M Technologies Email: rwestman@27m.se
Attachment:
mq_timed.patch
Description: Text document
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |