summaryrefslogtreecommitdiff
path: root/src/util/thread
diff options
context:
space:
mode:
Diffstat (limited to 'src/util/thread')
-rw-r--r--src/util/thread/thread_linux.c19
-rw-r--r--src/util/thread/thread_windows.c2
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)