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

Multithreading WaitForThreadTerminate在超时时返回什么错误代码?,multithreading,freepascal,Multithreading,Freepascal,WaitForThreadTerminate的状态为: 如果线程没有在TimeoutMs毫秒内退出,函数将返回一个错误值 不幸的是,没有关于该值的信息 我猜*nix和windows的错误代码可能不同。我只使用on*nix系统进行编译,因此这是我需要的错误代码。阅读源代码后,看起来没有一致的值。基本上,线程是由各种不同的库根据平台提供的。Free Pascal有一个抽象层,它跨所有线程库提供一组一致的函数 不幸的是,抽象层是“泄漏的”,因为它仍然要求开发人员知道正在使用哪个线程库。例如,如果使用p

WaitForThreadTerminate的状态为:

如果线程没有在TimeoutMs毫秒内退出,函数将返回一个错误值

不幸的是,没有关于该值的信息


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

阅读源代码后,看起来没有一致的值。基本上,线程是由各种不同的库根据平台提供的。Free Pascal有一个抽象层,它跨所有线程库提供一组一致的函数


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

您需要读取看起来有严重缺陷的源代码。当它没有超时时,它返回线程退出代码。它可以匹配超时时返回的任何错误代码。难怪他们没有记录它:)抽象最初只是内部的,允许使用类的应用程序在不链接到libc/libpthread的情况下进行编译。(iow使类-cthreads分离)。如果你认为它值得清理,请在bugs.freepascal.org上提交一个bug并引用此线程。我不知道它是供内部使用的。我现在在这方面投入不多,所以我不会提交错误报告。