我有许多 POSIX 线程,两个读取器从串行端口读取,其他读取器使用文件描述符写入同一端口。如何在它们之间共享相同的描述符?我通过信号量在所有线程之间同步了读/写和写/写操作。
注意:我假设文件描述符应该在同一进程的线程之间共享,但是EBUSY
当第二个读取器尝试从端口读取时,我的代码无法运行并出现错误。(之前问过一个问题)
更新
这是一个有点奇怪的情况,即使在运行时只有一个线程,对read()
after的任何调用都会write()
返回错误。也许我问错了问题。每个之后都应该有某种方式来确保该设备是免费的?或以某种方式强制阻止?-l
EBUSY
flush
write()
write()