aboutsummaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorGravatar kwasimensah <kmensah@google.com>2017-11-19 16:01:50 -0500
committerGravatar GitHub <noreply@github.com>2017-11-19 16:01:50 -0500
commit8abe26237e0060d2601b789ffcbf52437bd67a7d (patch)
tree304f7c17e33d27c3963eb45a19c0fe72ed5ef7bf
parent0bf12cfd32f72be119a4c64433f8de13b9354847 (diff)
Fix pthread cleanup logic
Don't delete the key in the pthread_key_create destructor. The key isn't specific to instances of values.
-rw-r--r--src/core/lib/support/cpu_posix.cc5
1 files changed, 2 insertions, 3 deletions
diff --git a/src/core/lib/support/cpu_posix.cc b/src/core/lib/support/cpu_posix.cc
index c9dbc0d5d9..bca14a0c12 100644
--- a/src/core/lib/support/cpu_posix.cc
+++ b/src/core/lib/support/cpu_posix.cc
@@ -49,15 +49,14 @@ unsigned gpr_cpu_num_cores(void) {
return (unsigned)ncpus;
}
-static void delete_thread_id_key(void* value) {
+static void delete_thread_id(void* value) {
if (value) {
gpr_free(value);
}
- pthread_key_delete(thread_id_key);
}
static void init_thread_id_key(void) {
- pthread_key_create(&thread_id_key, delete_thread_id_key);
+ pthread_key_create(&thread_id_key, delete_thread_id);
}
unsigned gpr_cpu_current_cpu(void) {