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
_______________________________________________ users mailing list users@rtems.org http://lists.rtems.org/mailman/listinfo/users