WaitForThreadTerminate超时时返回什么错误代码?

时间:2014-01-10 16:17:46

标签: multithreading freepascal

WaitForThreadTerminate的documentation声明:

  

如果线程未在TimeoutMs毫秒内退出,则该函数将返回错误值。

不幸的是,没有关于该值可能是什么的信息。

我猜错误代码可能与* nix和windows不同。我只在* nix系统上进行编译,因此这是我需要的错误代码。

1 个答案:

答案 0 :(得分:2)

阅读源代码后,看起来没有一致的值。基本上,线程由各种不同的库提供,具体取决于平台。 Free Pascal,有一个抽象层,可以跨所有线程库提供一致的函数集。

不幸的是,抽象层是“漏洞”,因为它仍然需要开发人员知道正在使用哪个线程库。例如,如果使用了pthreads,那么WaitForThreadTerminate将返回pthread_join()retval参数(source reference)。