diff options
author | Alon Zakai <alonzakai@gmail.com> | 2013-11-22 10:15:07 -0800 |
---|---|---|
committer | Alon Zakai <alonzakai@gmail.com> | 2013-11-22 10:15:07 -0800 |
commit | 7af6ac4d14404cbc9bf49e7761ec745e6c3dd773 (patch) | |
tree | bd8a073145e6e894af308086c05b8361ee0a197e /tests/pthread | |
parent | 08fd4f470e70b68d288370833524cfe49e9e369d (diff) |
fix pthread_setspecific on values of null
Diffstat (limited to 'tests/pthread')
-rw-r--r-- | tests/pthread/specific.c | 8 | ||||
-rw-r--r-- | tests/pthread/specific.c.txt | 2 |
2 files changed, 10 insertions, 0 deletions
diff --git a/tests/pthread/specific.c b/tests/pthread/specific.c index 914884e7..631baf8c 100644 --- a/tests/pthread/specific.c +++ b/tests/pthread/specific.c @@ -33,6 +33,14 @@ int main(void) printf("pthread_getspecific = %d\n", *data2); assert(*data2 == 123); + rv = pthread_setspecific(key, NULL); + printf("valid pthread_setspecific for value NULL = %d\n", rv); + assert(rv == 0); + + data2 = pthread_getspecific(key); + assert(data2 == NULL); + printf("pthread_getspecific = %p\n", data2); + rv = pthread_key_create(&key, &destr_function); data2 = pthread_getspecific(key); printf("pthread_getspecific after key recreate = %p\n", data2); diff --git a/tests/pthread/specific.c.txt b/tests/pthread/specific.c.txt index ad122b3d..ce7bef3d 100644 --- a/tests/pthread/specific.c.txt +++ b/tests/pthread/specific.c.txt @@ -1,6 +1,8 @@ pthread_key_create = 0 pthread_setspecific = 0 pthread_getspecific = 123 +valid pthread_setspecific for value NULL = 0 +pthread_getspecific = (nil) pthread_getspecific after key recreate = (nil) pthread_key_delete = 0 pthread_key_delete repeated = 22 |