Hi Mark,
On Fri, Jul 3, 2009 at 8:09 AM, Mark Evensonevenson@panix.com wrote:
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.
Well, I had a look at it this afternoon and from my reading, Tobias does really understand how to write Java and ABCL/Java code. I didn't see any particular issues with the code, but any testing before committing will be highly appreciated, ofcourse.
Bye,
Erik.