我使用pthread_create,它在结构指针中调用一个带有参数的函数。
我必须分离线程,因为我不希望主程序等待线程完成。
如何在分离线程后释放结构指针?
int s;
struct thread_args *t_args = malloc(sizeof(struct thread_args));
t_args->bn = basename;
t_args->mf = max_files;
t_args->mfs= max_file_size;
s = pthread_create(&t_id, NULL, archiver, t_args);
if(s != 0)
{
fprintf(stderr, "Error creating thread\n");
return 1;
}
else {
free(t_args);
}
if (days > 0)
{
delete(basename,days);
}
s = pthread_detach(t_id);
仅限于不起作用的片段。