esp-idf/components/pthread
Angus Gratton 564229c9a6 pthread: Fix behaviour when pthread destructor calls pthread_getspecific/pthread_setspecific
Update as per specification at https://pubs.opengroup.org/onlinepubs/009695399/functions/pthread_key_create.html

Specifically:

- Before a destructor is called then the value for the corresponding key is
  already set to NULL.

- If a destructor calls pthread_setspecific() to assign a non-NULL value then
  this destructor is called again, after all existing non-NULL values have been
  called.

Adds a test for this relatively complex behaviour.

Closes https://github.com/espressif/esp-idf/issues/6643
2021-12-21 01:27:49 +00:00
..
include Whitespace: Automated whitespace fixes (large commit) 2020-11-11 07:36:35 +00:00
test pthread: Fix behaviour when pthread destructor calls pthread_getspecific/pthread_setspecific 2021-12-21 01:27:49 +00:00
CMakeLists.txt pthread: Use INTERFACE in target_link_libraries for vPortCleanUpTCB wrapper 2020-05-08 11:55:23 +05:30
component.mk global: remove gcc 5.2 support 2019-11-20 11:17:27 +01:00
Kconfig pthread: remove ESP32_ prefix from Kconfig options 2019-07-29 04:43:49 +02:00
pthread_cond_var.c tools: Mass fixing of empty prototypes (for -Wstrict-prototypes) 2019-08-01 16:28:56 +07:00
pthread_internal.h tools: Mass fixing of empty prototypes (for -Wstrict-prototypes) 2019-08-01 16:28:56 +07:00
pthread_local_storage.c pthread: Fix behaviour when pthread destructor calls pthread_getspecific/pthread_setspecific 2021-12-21 01:27:49 +00:00
pthread.c pthread: Fix possible deadlock when using pthread_join() and Debug log level 2021-05-31 13:49:59 +10:00
sdkconfig.rename pthread: remove ESP32_ prefix from Kconfig options 2019-07-29 04:43:49 +02:00