rtems_message_queue_receive / rtems_event_receive issues

Catalin Demergian demergian at gmail.com
Wed Oct 3 11:42:58 UTC 2018


ok, I understand. The code in _Event_Is_blocking_on_event is correct, it
just verifies if the thread is in wait state or not.
The only thing that varies is what _Thread_Wait_flags_get returns. In my
case, it returned 0x102 for 5401 times,
but 5402th time it returned 0x104; because of that, ( wait_flags &
wait_mask ) == wait_class didn't hold true anymore.
0x104 means the thread is ready .. why is marked as ready instead of
blocked is another problem. could it be a memory
corruption, possibly, but I doubt it, a memory corruption would set it most
likely to a value without meaning, but in my case it's
exactly 0x104.
I think one of the functions
_Thread_Wait_flags_set/_Thread_Wait_flags_try_change may set this value.
I will check this theory.

regards,
Catalin
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.rtems.org/pipermail/users/attachments/20181003/b0806d0d/attachment-0002.html>


More information about the users mailing list