[Openmcl-devel] Semaphore troubles

James M. Lawrence llmjjmll at gmail.com
Thu May 10 07:39:44 PDT 2012


On Thu, May 10, 2012 at 2:10 AM, Gary Byers <gb at clozure.com> wrote:
>> The upshot of what you're saying is that Clozure cannot reliably
>> distribute work across threads, while other CL implementations can.
>
> [...]
>
> Second of all, CCL doesn't "distribute work between threads"; neither
> does SBCL, nor do recent versions of LispWorks, nor do other lisp
> implementations that offer native threads.

I was simply referring to the ability to reliably send tasks to a
worker thread pool and receive a notification for each task
immediately after it completes. This is exactly the use case I have,
and it is exactly what the test case asserts.

I should mention my machine may be unusual -- it's a Core-i7 but with
32-bit Linux installed. (Ubuntu 11 repeatedly failed to install,
Ubuntu 12 was not released yet, and when I grabbed the nightly build
at 2AM it was the 32-bit one. I plan to install 64-bit, but not yet.)

I just ran the test again: 2 second sleep failed at 37 iterations; 10
second sleep failed at 86. Rarely it goes past 100 -- if it does, I
restart CCL to jostle things up, but that may only be superstition (on
SBCL I once had a condition variable problem which was either fully
present or fully absent depending upon a dice roll at launch).

I will grant ssh access to my machine.

ccl-1.8/lx86cl, md5 040409ba578edfa8b3dd62b009d57929

3.2.0-24-generic-pae #37-Ubuntu SMP Wed Apr 25 10:47:59 UTC 2012 i686
i686 i386 GNU/Linux



More information about the Openmcl-devel mailing list