2012-11-14 179 views
0

我的程序有兩個進程。一個進程寫入FIFO(命名管道),必須等到另一個進程從FIFO中讀取,然後等待該進程返回結果(寫入FIFO才能讀取這個流程)。 我的問題是如何知道數據是從另一個進程讀取FIFO的形式,然後調用read()系統調用的結果?unix中的命名管道

回答

0

大多數UNIXen具有雙向管道(管人)

Linux的,IIRC還沒有得到這些,所以你需要使用socket_pair,它可以方便地使用UNIX域套接字給予大致相同的功能。

以我的經驗移植代碼經常需要別人有點出乎通過調用替換調用pipesocket_pair