From a239f9feadd015fa91d391df01365dcade8ce503 Mon Sep 17 00:00:00 2001 From: Tom Smeding Date: Wed, 1 Aug 2018 23:12:41 +0200 Subject: Threaded communication (icmpd) --- mt.c | 29 +++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) create mode 100644 mt.c (limited to 'mt.c') diff --git a/mt.c b/mt.c new file mode 100644 index 0000000..e5b241e --- /dev/null +++ b/mt.c @@ -0,0 +1,29 @@ +#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; +} -- cgit v1.2.3-70-g09d2