I am having a little trouble with an open on a pipe.  Here is offending line
 
xf86open( "/namedpipe", O_RDONLY | O_NONBLOCK );
 
The pipe is present and set for world R/W access before this code executes.  When this line executes, it blocks until another process opens the pipe for writing.  If I change to a regular "open", I get the same effect.  If I do this in a simple program (i.e. not an X module), it does not block.
 
Does anyone have any idea why this would block?
 
FYI, in the xf86open case I have already modified xfToOsOpenFlags to allow xf86Open to use the O_NONBLOCK flag.  Once I get this resolved I will submit patches.
 
In case it matters, I am trying to get an input module to talk to a process outside the X server (butt ugly, I know ;-).  If there is some other, more clean, way to do this, please pass this info along.
 
Take care,
KJohn

Reply via email to