diff options
Diffstat (limited to 'src/util/thread')
| -rw-r--r-- | src/util/thread/thread_linux.c | 19 | ||||
| -rw-r--r-- | src/util/thread/thread_windows.c | 2 |
2 files changed, 14 insertions, 7 deletions
diff --git a/src/util/thread/thread_linux.c b/src/util/thread/thread_linux.c index f07fcb4..f5b480e 100644 --- a/src/util/thread/thread_linux.c +++ b/src/util/thread/thread_linux.c @@ -14,7 +14,8 @@ void nn_thread_sleep(nn_os_tstamp delay) void nn_thread_create(struct nn_thread *thread, nn_thread_func func, void *userdata) { - pthread_create(&thread->thread, NULL, func, userdata); + s32 ret = pthread_create(&thread->thread, NULL, func, userdata); + al_assert(ret == 0); } void nn_thread_set_priority(s32 policy, s32 priority) @@ -51,22 +52,27 @@ void nn_thread_detach(struct nn_thread *thread) void nn_mutex_init(struct nn_mutex *mutex) { - pthread_mutex_init(&mutex->mutex, NULL); + s32 ret = pthread_mutex_init(&mutex->mutex, NULL); + // Linux manpage says this always returns 0. + al_assert(ret == 0); } void nn_mutex_lock(struct nn_mutex *mutex) { - pthread_mutex_lock(&mutex->mutex); + s32 ret = pthread_mutex_lock(&mutex->mutex); + al_assert(ret != EINVAL); } void nn_mutex_unlock(struct nn_mutex *mutex) { - pthread_mutex_unlock(&mutex->mutex); + s32 ret = pthread_mutex_unlock(&mutex->mutex); + al_assert(ret != EINVAL); } void nn_mutex_destroy(struct nn_mutex *mutex) { - pthread_mutex_destroy(&mutex->mutex); + s32 ret = pthread_mutex_destroy(&mutex->mutex); + al_assert(ret != EBUSY); } void nn_cond_init(struct nn_cond *cond) @@ -96,5 +102,6 @@ void nn_cond_signal(struct nn_cond *cond) void nn_cond_destroy(struct nn_cond *cond) { - pthread_cond_destroy(&cond->cond); + s32 ret = pthread_cond_destroy(&cond->cond); + al_assert(ret != EBUSY); } diff --git a/src/util/thread/thread_windows.c b/src/util/thread/thread_windows.c index f1f1dd7..9ce85e2 100644 --- a/src/util/thread/thread_windows.c +++ b/src/util/thread/thread_windows.c @@ -4,7 +4,7 @@ NTSTATUS(__stdcall *NtDelayExecution)(BOOL Alertable, PLARGE_INTEGER DelayInterv void nn_thread_sleep(nn_os_tstamp delay) { - NtDelayExecution(false, &((LARGE_INTEGER){ .QuadPart = -(LONGLONG)(delay * 1E7L) })); + NtDelayExecution(false, &((LARGE_INTEGER){ .QuadPart = -(LONGLONG)(delay * 1e7L) })); } void nn_thread_create(struct nn_thread *thread, nn_thread_func func, void *userdata) |