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