Hi,<br><br>I don&#39;t know if this issue is due to me, Racket, Xlib FFI or Xlib in itself, but I&#39;m struggling with it. Hopefully someone knows.<br><br>In a multi-threaded application using Jon&#39;s Xlib FFI ( <a href="https://github.com/kazzmir/x11-racket">https://github.com/kazzmir/x11-racket</a> ), I&#39;m using one thread for processing X events with XNextEvent, which is a blocking call (apparently on a socket).<br>

I have another thread that listens to a tcp port, and does not need to do any X call.<br><br>The problem is that the second thread blocks on &#39;read&#39; even if there is something in the queue to read, unless some X event unblocks XNextEvent, in which case both threads run, until there is no X event left (and XNextEvent blocks again).<br>

<br>I have called XInitThreads prior to any other X call to enable threads (and the return values says it&#39;s ok).<br><br>Any idea anyone?<br><br>Thanks,<br>Laurent<br><br>