2 gcc -Wall -Wextra test.c -g -lpthread
5 #include "thread_wrapper.h"
9 #define KB(x) (x * 1024)
11 /* we want to call this func from a thread. */
12 int worker_func(int x
, void* y
, int z
, void* a
) {
16 THREAD_WRAPPER(int, worker_func
, 4, (int x
, void* y
, int z
, void* a
), (x
, y
, z
, a
));
22 if((errmsg
= THREAD_LAUNCH(KB(128), child
, worker_func
, 4, (0, NULL
, 1, (void*) 0xdeadbeef)))) goto pt_err
;
23 if((errmsg
= THREAD_WAIT(&result
, child
, worker_func
))) goto pt_err
;
25 printf("workerfunc returned %d\n", result
);