Kedar Sovani
07992b08e8
[pthread] Perform init_routine execution outside of the mutex
...
The mutex is common across all the threads. It needn't be held across
the init_routine() call as long as the 'once' behaviour is guaranteed
Saw a deadlock case, where init_routine of one thread was waiting for
the completion of init_routine in another thread.
t2: wait for command
t1: pthread_once:
lock once_mux
init_routine:
inform thread t2
wait for signal from t2
t2: received command
pthread_once
lock once_mux (already held by t1)
---- Deadlock ----
2017-10-25 13:57:39 +05:30
Angus Gratton
3f4c8f7174
pthreads local storage: add test for unique keys
2017-10-17 15:29:25 +08:00
Angus Gratton
69e92ee320
unit tests: If heap tracing is enabled in sdkconfig, leak trace each test
2017-10-17 15:29:25 +08:00
Angus Gratton
86c89ff169
pthread: Add support for pthread thread local storage
...
Refactors LWIP to use this for the LWIP thread local semaphore
2017-10-17 14:46:08 +08:00
Alexey Gerenkov
5795ccc806
freertos: Fixes deadlock in pthread_once for init_routines calling pthread_once
2017-10-01 19:52:48 +03:00
Alexey Gerenkov
54a529f596
freertos: Fixes hangup upon pthread_join on finished thread
2017-10-01 19:52:48 +03:00
Alexey Gerenkov
5dea0fca15
esp_pthread_init constructor attr was removed
2017-09-06 10:30:23 +08:00
Alexey Gerenkov
5094965e98
According to comments
2017-09-06 10:30:23 +08:00
Ivan Grokhotkov
e3b86e7bdb
pthread: handle statically initialized mutexes
2017-09-06 10:30:23 +08:00
Alexey Gerenkov
20942421c3
According to review comments
2017-09-06 10:30:23 +08:00
Alexey Gerenkov
8859dab10c
Cleanup
2017-09-06 10:30:23 +08:00
Alexey Gerenkov
bf8ff8c98b
1) Thread detach functionality added
...
2) Recursive mutexes support
3) C++ test updated
2017-09-06 10:30:23 +08:00
Alexey Gerenkov
c631c6b358
1) Mux API was added
...
2) C++ test for threading and mux functions
2017-09-06 10:30:23 +08:00
Alexey Gerenkov
0b09c7006d
pthread: Initial version of thread API
2017-09-06 10:30:23 +08:00