uclibc(1.0.12) mq_send return value and errno issue
Waldemar Brodkorb
wbx at uclibc-ng.org
Fri Nov 18 06:13:25 UTC 2016
Hi,
Frank Liu wrote,
> Hi All,
>
> Kernel version : 4.4.19-linux4sam_5.4
> uclibc version : 1.0.12
> uclibc threading support : NPTL
> Processor Arch: ARM
Better you switch to uClibc-ng mailinglist for this question.
> We create a NONBLOCKING message queue.
>
> The expected behavior is when the message queue is full, calling mq_send would return -1 and set errno to EAGAIN(11). However we are seeing some inconsistent behaviors of mq_send.
>
> When calling mq_send in a single threaded environment, the expected behavior is observed.
>
> If the program starts a second thread, which is doing completely different task, calling mq_send when the queue is full would return -11 instead of -1. Also, the errno is set to an incorrect value. Values we have seen are 0, 2, which are completely different from the expected EAGAIN(11).
Can you provide a simple test case to check the behaviour?
best regards
Waldemar
More information about the uClibc
mailing list