26 {
27 pthread_attr_t attr;
28 CHECK_EQ(pthread_attr_init(&attr), 0);
29 CHECK_EQ(
30 pthread_attr_setdetachstate(
31 &attr,
joinable_ ? PTHREAD_CREATE_JOINABLE : PTHREAD_CREATE_DETACHED),
32 0);
33 CHECK_EQ(pthread_setcancelstate(PTHREAD_CANCEL_ENABLE, nullptr), 0);
34 CHECK_EQ(pthread_setcanceltype(PTHREAD_CANCEL_ASYNCHRONOUS, nullptr), 0);
35
37 CHECK_EQ(result, 0) << "Could not create thread (" << result << ")";
38
39 CHECK_EQ(pthread_attr_destroy(&attr), 0);
40
42}
static void * ThreadRunner(void *arg)