If configENABLE_BACKWARD_COMPATIBILITY is defined, then xTimerHandle is
defined to TimerHandle_t which would result in conflict.
Fixes#35.
Signed-off-by: Gaurav Aggarwal <aggarg@amazon.com>
Update the pthread_cond_t implementation to utilize Task Notifications.
In the existing implementation, if multiple threads of different
priority are blocked on the same condition, a higher priority thread, in
most cases, will unblock multiple times due to taking the underlying
semaphore multiple times instead of just once. Switching to Task
notifications guarantees that all tasks are equally notified and
unblocked.
pthread_cond_signal has also been updated to conform to the POSIX
specification in that it will unblock the highest priority task waiting
on the condition.
Resolves#8
We do have other errors when C99 is disabled, namely the struct initialization and type casting.
I'm not fixing those here, since:
- struct init is consistent within this lib.
- type casting is needed in this design, to hide FreeRTOS symbols.