Функция pthread_detach() является альтернативой pthread_join(), чтобы утилизировать область памяти для потока, который был создан с атрибутом detachstate, установленным в значение PTHREAD_CREATE_JOINABLE. Прототип функции:
pthread_t tid;
int ret;
/* отделить поток tid */
ret = pthread_detach(tid);
pthread_detach() возвращает 0 при успешном завершении. Любое другое значение указывает, что произошла ошибка.