[Ecls-list] Locking strategy (best so far)

Matthew Mondor mm_lists at pulsar-zone.net
Fri Apr 6 12:32:51 UTC 2012


On Fri, 6 Apr 2012 13:02:16 +0200
Juan Jose Garcia-Ripoll <juanjose.garciaripoll at googlemail.com> wrote:

> 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
> 
> * Implemented semaphores
> * Implemented barriers (copied part of the API from Lispworks, though I
> feel it is overengineered)
> * mp:process-join relies on barriers (no trivial thing, the original code
> was a mess because of the lack of this tool)
> * fixes in external processes, locking, etc.
> 
> In particular the changes to mp:process-join are quite critical for ECL
> being able to gracefully quit when there are running threads.
> 
> 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.

I confirm that these changes allow the HTTPd to run here as well,
thanks!  However, I didn't stress-test it much or try performance tests
with it yet, but that should happen soon.
-- 
Matt




More information about the ecl-devel mailing list