As a follow up to my previous message, I'm looking for someone who would be interested in taking on some work to resolve these issues.  Some additional info:

ICE Lab at MIT - SBCL Programmer to Debug Existing Server Program

The Imagination, Computation, and Expression Laboratory (ICE Lab) at MIT is looking for an SBCL programmer to help debug issues with an existing Lisp socket server program.  The server will eventually handle connections from multiple web-based clients in support of a number of student projects - experience with threading and exception handling in SBCL are a plus.  Project is likely to be smaller in scope since much of the system is already functional.  Remote candidates are fine, but strong communication skills are required.  Contact berry@mit.edu for more details.

Thanks,

Brian

On Wednesday, May 2, 2012 at 2:39 PM, Brian Perry wrote:

Greetings,

I've been working on adapting existing Lisp code to communicate with a socket server with the end goal of allowing a couple of different web based clients (one using Flash, another in Processing) to communicate with the Lisp server.  I've run into a couple of specific roadblocks and was wondering if anyone could help.

The first issue is that the lisp server is crashing when a client disconnects.  I'm seeing an error similar to the following:

-------
debugger invoked on a END-OF-FILE in thread #<THREAD RUNNING {1003707001}>:
  end of file on #<SB-SYS:FD-STREAM for "a socket" {10037EFDE1}>
-------

If we could get past this one, we'd be able to move forward quite a bit.

The second issue is that the Lisp server currently blocks when one connection is made, preventing other clients from connecting simultaneously.  I've assumed that sbcl's threading might help here, but I didn't have any luck with it myself (most likely due to lack of experience).

I based the server on the following example:


I'd be happy to provide more info if it helps.

Thanks,

Brian