#include #include "mt.h" void mt_mutex_init(struct mt_mutex *mut) { assert(pthread_mutex_init(&mut->m, NULL) == 0); } void mt_mutex_destroy(struct mt_mutex *mut) { assert(pthread_mutex_destroy(&mut->m) == 0); } void mt_mutex_lock(struct mt_mutex *mut) { assert(pthread_mutex_lock(&mut->m) == 0); } void mt_mutex_unlock(struct mt_mutex *mut) { assert(pthread_mutex_unlock(&mut->m) == 0); } void mt_thread_create(struct mt_thread *th, void* (*callback)(void*), void *arg) { assert(pthread_create(&th->t, NULL, callback, arg) == 0); } void* mt_thread_join(struct mt_thread *th) { void *ret; assert(pthread_join(th->t, &ret)); return ret; }