开发者

mkfifo Alternative

I have a process that continuously needs to write information. Furthermore, there is a second process which sometimes connects to the "information channel" of the writing process and should read the information that are written since it's connected. This process might also deconnect and reconnect seve开发者_C百科ral times again.

I am currently realizing this with a named pipe, by using mkfifo() in my c++ program. Unfortunately if I call open() on this fifo it blocks until a process opens the fifo for reading. This is quite normal for named pipes, but I need this open command to be non-blocking.

Do you know an alternative to mkfifo in this case?

Heinrich


You could use Unix-domain sockets, or regular TCP sockets on loopback interface.


You can use shared memory or mmap. It should contain offset to the oldest data, and the block of memory for data

fifo is limited to 64k (depends on distribution and some settings).


I finally used the unix message queue, Reader and Writer can.be started totally independet and everything can be performed non blocking

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜