void yThreadKill(yThread *yth) { if (yThreadIsRunning(yth)) { #ifdef WINDOWS_API //means thread still running lets give it some time if (!yWaitForEvent(&yth->th, 1000)) { yKillThread(&yth->th); } #else yKillThread(&yth->th); #endif } else { yWaitEndThread(&yth->th); yReleaseDetachedThreadEx(&yth->th); } }
int yThreadWaitEnd(yThread *yth) { int res = yWaitEndThread(&yth->th); yReleaseDetachedThreadEx(&yth->th); return res; }