| main.c |
In VxWorks pthread implementation, when thread is finishing it calls pthread_exit(), which:
- calls pthread cleanup procedure
- clears pthread data (setting current thread to null)
- calls `taskExit` VxWorks system procedure
`taskExit` procedure calls thread_local object destructors, which if call directly or indirectly
`pthread_self()`, terminate with error, due to not being able to obtain pthread entity.
Thus, we need to treat VxWorks pthread implementation as `broken` in terms of thread_local variables.
|
954 |
- |