Initially i thought the pipe read would be blocking till data is available. You clarified in linux it will not block.
Then figured out that blocking is happening at fopen. alternative to fopen, open() can be used to open a PIPE in non-blocking mode. open("name" ,O_RDONLY | O_NONBLOCK) On Feb 28, 2012, at 1:01 PM, Ross Finlayson wrote: >> I am using Linux. > > Good. > > >> Before going to read function, the program blocks at >> ByteStreamFileSource::createNew when it tries to do OpenInputFile on a pipe. > > OK, now you're talking about something else. Beforehand, you were talking > about reading from a pipe - which is done (in your case) using "read()", is > called from the event loop (only when data is available to be read), and > should not block. > > Now, you seem to be talking about *opening* the pipe, which is done using > "OpenInputFile()", which is implemented as a call to "fopen()". I don't know > why that would block, however... > > > Ross Finlayson > Live Networks, Inc. > http://www.live555.com/ > > _______________________________________________ > live-devel mailing list > live-devel@lists.live555.com > http://lists.live555.com/mailman/listinfo/live-devel
_______________________________________________ live-devel mailing list live-devel@lists.live555.com http://lists.live555.com/mailman/listinfo/live-devel