Skip to main content
9 events
when toggle format what by license comment
Apr 6, 2015 at 7:47 answer added Craig S. Anderson timeline score: 7
Mar 27, 2015 at 18:41 comment added sawdust @Angus "They are not being bidirectional on the same channel." -- You should study the hardware analogy. Two unidirectional (aka half-duplex) channels are typically used for two-way communication. When a single channel is used for both directions, then either (a) only one end can transmit at a time with some kind of protocol to inhibit simultaneous transmission from both ends, or (b) elaborate electronics are added to each end (e.g. echo cancellation) so that each end can transmit & receive simultaneously.
Mar 27, 2015 at 10:30 comment added Gil Hamilton Does it have to be a pipe? Sounds like an ideal case for socketpair. Or, if you really need it to be named, its cousin unix-domain (AF_UNIX) sockets.
Mar 27, 2015 at 8:57 comment added Angus Link: cs.mtu.edu/~shene/NSF-3/e-Book/CH/basics.html talks about the bidirectional channels.
Mar 27, 2015 at 8:51 comment added Angus They are not being bidirectional on the same channel.. We create two different channels and one we use it for reading and the other for writing .
Mar 27, 2015 at 8:48 comment added CL. You'd have two unidirectional pipes. What difference does it make that read() and write() are called on different fd's?
Mar 27, 2015 at 8:42 comment added Angus Thanks. But the message passing should be on a single bidirectional channel with an endpoint connected to one process and the other endpoint connected to the 2nd process. In the structure above , it will be treated as a two different channels that are acting bidirectional. I'm confused, Please correct me.
Mar 27, 2015 at 8:33 comment added CL. struct { int read_pipe_fd, write_pipe_fd; } bidirectional;
Mar 27, 2015 at 8:13 history asked Angus CC BY-SA 3.0