| 380 | } |
| 381 | |
| 382 | int pthread_mutex_unlock(pthread_mutex_t *mutex) |
| 383 | { |
| 384 | const char *myname = "pthread_mutex_unlock"; |
| 385 | |
| 386 | if (mutex == NULL) { |
| 387 | msg_error("%s, %s(%d): input invalid", |
| 388 | __FILE__, myname, __LINE__); |
| 389 | return -1; |
| 390 | } |
| 391 | |
| 392 | if (ReleaseMutex(mutex->id) == FALSE) { |
| 393 | msg_error("%s, %s(%d): ReleaseMutex error(%s)", |
| 394 | __FILE__, myname, __LINE__, last_serror()); |
| 395 | return -1; |
| 396 | } |
| 397 | |
| 398 | return 0; |
| 399 | } |
| 400 | |
| 401 | long thread_self(void) |
| 402 | { |
no test coverage detected
searching dependent graphs…