diff --git a/include/grpc/support/tls.h b/include/grpc/support/tls.h index 7a7143c6d19..156280e47da 100644 --- a/include/grpc/support/tls.h +++ b/include/grpc/support/tls.h @@ -54,7 +54,7 @@ Destroying a thread local: gpr_tls_destroy(&foo); - Setting a thread local: + Setting a thread local (returns new_value): gpr_tls_set(&foo, new_value); Accessing a thread local: diff --git a/include/grpc/support/tls_pthread.h b/include/grpc/support/tls_pthread.h index 249c4d1cab6..07eb12e5bf8 100644 --- a/include/grpc/support/tls_pthread.h +++ b/include/grpc/support/tls_pthread.h @@ -47,7 +47,7 @@ struct gpr_pthread_thread_local { #define gpr_tls_init(tls) GPR_ASSERT(0 == pthread_key_create(&(tls)->key, NULL)) #define gpr_tls_destroy(tls) pthread_key_delete((tls)->key) #define gpr_tls_set(tls, new_value) \ - GPR_ASSERT(pthread_setspecific((tls)->key, (void*)(new_value)) == 0) + (GPR_ASSERT(pthread_setspecific((tls)->key, (void*)(new_value)) == 0), (new_value)) #define gpr_tls_get(tls) ((gpr_intptr)pthread_getspecific((tls)->key)) #endif