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

Reply via email to