当你调用WaitForSingleObject()你用CreateFile()or创建的句柄时会发生什么_get_osfhandle()?
由于不值得解释的原因,我想WaitForSingleObject()用来等待我创建的 HANDLE _get_osfhandle(fd),其中fd来自定期调用_open(). 这可能吗?
我已经在实践中尝试过,并且在某些机器上它按预期工作(句柄始终处于信号状态,因为您可以从中读取更多数据),并且在某些机器上WaitForSingleObject()如果您允许它会无限期阻塞。
MSDN 页面WaitForSingleObject()说,它处理的唯一受支持的事情是“更改通知、控制台输入、事件、内存资源通知、互斥体、进程、信号量、线程和可等待计时器”。
此外,如果我使用CreateFile()而不是_get_osfhandle()CRT 文件描述符会有所不同吗?