scannerThreadReturnValue

scannerThreadReturnValue

我在Windows上的MinGW中使用Pthreads。调用pthread_create将返回错误,该错误将转换为“空间不足”。它指的是哪种空间?是线程堆栈空间吗?

int scannerThreadReturnValue = pthread_create(&parserThreadHandle, &attr, parserThread, (void *)filename);
    if(scannerThreadReturnValue != 0) {
        printf("Unable to create thread %s\n", strerror(errno));
    }
    else printf("Parser thread creation successfull\n");

最佳答案

错误消息最可能是错误的,因为pthread_*系列功能未设置errno。错误代码由函数返回。

所以国防部你这样的代码:

int scannerThreadReturnValue = pthread_create(&parserThreadHandle, &attr, parserThread, (void*)filename);
if (scannerThreadReturnValue != 0)
{
  printf("Unable to create thread: %s\n", strerror(scannerThreadReturnValue));
}
else
{
  printf("Parser thread creation successful.\n");
}


这将为您提供正确的错误消息。

关于c - pthread_create空间不足,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/16605925/

10-11 15:25