| 201 | void* const DUMMY_PTR = (void*)1; |
| 202 | |
| 203 | void use_invalid_keys_impl(const Keys* keys) { |
| 204 | ASSERT_EQ(NULL, bthread_getspecific(keys->invalid_key)); |
| 205 | // valid key returns NULL as well. |
| 206 | ASSERT_EQ(NULL, bthread_getspecific(keys->valid_key)); |
| 207 | |
| 208 | // both pthread_setspecific(of nptl) and bthread_setspecific should find |
| 209 | // the key is invalid. |
| 210 | ASSERT_EQ(EINVAL, bthread_setspecific(keys->invalid_key, DUMMY_PTR)); |
| 211 | ASSERT_EQ(0, bthread_setspecific(keys->valid_key, DUMMY_PTR)); |
| 212 | |
| 213 | // Print error again. |
| 214 | ASSERT_EQ(NULL, bthread_getspecific(keys->invalid_key)); |
| 215 | ASSERT_EQ(DUMMY_PTR, bthread_getspecific(keys->valid_key)); |
| 216 | } |
| 217 | |
| 218 | void* use_invalid_keys(void* args) { |
| 219 | use_invalid_keys_impl(static_cast<const Keys*>(args)); |
no test coverage detected