| 1175 | } |
| 1176 | |
| 1177 | static int pthread_key_delete(pthread_key_t key) |
| 1178 | { |
| 1179 | if (key > _pthread_key_max) return EINVAL; |
| 1180 | if (!_pthread_key_dest) return EINVAL; |
| 1181 | |
| 1182 | pthread_rwlock_wrlock(&_pthread_key_lock); |
| 1183 | _pthread_key_dest[key] = NULL; |
| 1184 | |
| 1185 | /* Start next search from our location */ |
| 1186 | if (_pthread_key_sch > key) _pthread_key_sch = key; |
| 1187 | |
| 1188 | pthread_rwlock_unlock(&_pthread_key_lock); |
| 1189 | |
| 1190 | return 0; |
| 1191 | } |
| 1192 | |
| 1193 | static void *pthread_getspecific(pthread_key_t key) |
| 1194 | { |
nothing calls this directly
no test coverage detected