Hi! > > pthread_setcanceltype(PTHREAD_CANCEL_ASYNCHRONOUS, NULL); > > pthread_setcancelstate(PTHREAD_CANCEL_ENABLE, NULL); > > - return t.func(t.arg); > > + ret = t->func(t->arg); > > + free(t); > > Why not use SAFE_FREE? free() does not report errors, there is no such thing as SAFE_FREE() -- Cyril Hrubis chrubis@suse.cz