[armedbear-devel] Franz-style Gates implementation

Mark Evenson evenson at panix.com
Fri Jul 3 06:09:48 UTC 2009


Tobias Rittweiler writes:

> The attached patch adds Gates to ABCL, inspired by what Franz Allegro
> Common Lisp provides. 
> 
>    A GATE is an object with two states, open and closed. It is
>    created with MAKE-GATE. Its state can be opened (OPEN-GATE) or
>    closed (CLOSE-GATE) and can be explicitly tested with
>    GATE-OPEN-P. Usually though, a thread awaits the opening of a
>    gate by WAIT-OPEN-GATE.
> 
> This will be used to implement the threading communication style in
> ABCL's Swank backend.
> 
> I'm not particularly good at writing multiprocessing, or Java code. So
> please review carefully.

Tobias wrote this to support his version of a multi-threaded SLIME 
backend, and has proposed it for inclusion in ABCL.

When I get some time, I'll do some tests, but post the patch here in 
case it helps someone else out before that time or if their is any feedback.

As it stands, the Gates implementation would go in the EXTENSIONS package.

Mark


-- 
"A screaming comes across the sky.  It has happened before, but there
is nothing to compare to it now."
-------------- next part --------------
A non-text attachment was scrubbed...
Name: gates.diff
Type: text/x-diff
Size: 8438 bytes
Desc: not available
URL: <https://mailman.common-lisp.net/pipermail/armedbear-devel/attachments/20090703/53f03019/attachment.diff>


More information about the armedbear-devel mailing list