<div class="gmail_quote">On Sat, Mar 31, 2012 at 12:13 PM, Matthew Mondor <span dir="ltr"><<a href="mailto:mm_lists@pulsar-zone.net">mm_lists@pulsar-zone.net</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div id=":1b">It appears that it locks before all initial threads of the HTTPd can be<br>
started. The REPL doesn't come back while that thread appears to be<br>
waiting on a pthread_cond_wait(3) forever without getting an event.<br>
This happens inside the GC, invoked sometime during HTTPD-INIT (that<br>
happens in the first/main thread):<br></div></blockquote></div><br>There were a bunch of problems with the previous code. From a wrong order in the arguments to pthread_sigmask() to the choice of signals. I have fixed them together with the following things<div>
<br></div><div>* Implemented semaphores</div><div>* Implemented barriers (copied part of the API from Lispworks, though I feel it is overengineered)</div><div>* mp:process-join relies on barriers (no trivial thing, the original code was a mess because of the lack of this tool)</div>
<div>* fixes in external processes, locking, etc.</div><div><br></div><div>In particular the changes to mp:process-join are quite critical for ECL being able to gracefully quit when there are running threads.</div><div><br>
</div><div>I can confirm that I am able to run your server and get decent connection times, slightly better than on OS X (see below). However, please bear in mind that I am running this all inside a virtualbox which may improve the stability, as processors are not really independent, but bound by the emulator.</div>
<div><br></div><div><div>Requests per second: 725.38 [#/sec] (mean)</div><div>Time per request: 22.057 [ms] (mean)</div><div>Time per request: 1.379 [ms] (mean, across all concurrent requests)</div><div>Transfer rate: 452.72 [Kbytes/sec] received</div>
</div><div><br></div><div>Juanjo<br clear="all"><div><br></div>-- <br>Instituto de Física Fundamental, CSIC<br>c/ Serrano, 113b, Madrid 28006 (Spain) <br><a href="http://juanjose.garciaripoll.googlepages.com" target="_blank">http://juanjose.garciaripoll.googlepages.com</a><br>
</div>