<html><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; "><br><div><div>On 14 Nov 2008, at 11:39, Paul Thomas wrote:</div><blockquote type="cite"><div><br>On 14 Nov 2008, at 11:00, Phil Mayers wrote:<br><br><blockquote type="cite">Paul Thomas wrote:<br></blockquote><blockquote type="cite"><blockquote type="cite">On 14 Nov 2008, at 09:47, Phil Mayers wrote:<br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite"><blockquote type="cite">Paul Thomas wrote:<br></blockquote></blockquote></blockquote><blockquote type="cite"><blockquote type="cite"><blockquote type="cite"><blockquote type="cite">Hi,<br></blockquote></blockquote></blockquote></blockquote><blockquote type="cite"><blockquote type="cite"><blockquote type="cite"><blockquote type="cite">I've run into a small problem where my twisted application needs to open a fifo to talk to another process. On Linux at least, the open blocks until the other end of the fifo is opened and this is blocking my reactor.<br></blockquote></blockquote></blockquote></blockquote><blockquote type="cite"><blockquote type="cite"><blockquote type="cite"><br></blockquote></blockquote></blockquote><blockquote type="cite"><blockquote type="cite"><blockquote type="cite"><span class="Apple-style-span" style="-webkit-text-stroke-width: -1; "></span></blockquote></blockquote></blockquote></div></blockquote><br>[snip]</div><div><br><blockquote type="cite"><div><blockquote type="cite"><blockquote type="cite"><blockquote type="cite"><span class="Apple-style-span" style="-webkit-text-stroke-width: -1; ">fd = os.open('thefifo', os.O_RDWR)</span></blockquote></blockquote></blockquote><blockquote type="cite"><blockquote type="cite"><blockquote type="cite"><br></blockquote></blockquote></blockquote><blockquote type="cite"><blockquote type="cite"><blockquote type="cite">...will return immediately,<br></blockquote></blockquote></blockquote><blockquote type="cite"><blockquote type="cite"><blockquote type="cite"><br></blockquote></blockquote></blockquote></div></blockquote><br><div>[snip]</div><div><br></div></div><div><blockquote type="cite"><div>I'll have to wait til Monday to try it out again. I thought the problem was to do with the other process opening the read end between the open and the write. But maybe it was a case of not testing what I thought I was testing.<br></div></blockquote><br></div><div>This works just fine:</div><div><br></div><div><span class="Apple-style-span" style="color: rgb(84, 0, 0); -webkit-text-stroke-width: -1; ">fd = os.open('thefifo', os.O_RDWR | os.O_NONBLOCK)</span></div><div><font class="Apple-style-span" color="#540000"><span class="Apple-style-span" style="-webkit-text-stroke-width: -1;"><br></span></font></div><div><font class="Apple-style-span" color="#540000"><span class="Apple-style-span" style="-webkit-text-stroke-width: -1;">thanks for your help.</span></font></div><div><font class="Apple-style-span" color="#540000"><span class="Apple-style-span" style="-webkit-text-stroke-width: -1;"><br></span></font></div><div><font class="Apple-style-span" color="#540000"><span class="Apple-style-span" style="-webkit-text-stroke-width: -1;">Paul.</span></font></div></body></html>