0
#include <pthread.h>
static void * worker_thread(void *);

void some_func(void)
{
    pthread_t * tmp;
    tmp = malloc(sizeof(pthread_t));
    if (NULL != tmp)
    {
        if (!pthread_create(tmp, NULL, worker_thread, (void *)tmp))
            pthread_detach(*tmp);
        else
            free(tmp);
    }
}

static void * worker_thread(void * p)
{
    /* do work */
    free(p);
    return(NULL);
}
4

1 に答える 1