[slime-devel] Re: Slime/SBCL/FreeBSD oddities
Raymond Wiker
Raymond.Wiker at fast.no
Fri Dec 5 17:30:01 UTC 2003
Luke Gorrie writes:
> Raymond Wiker <Raymond.Wiker at fast.no> writes:
>
> > > What happens if you #+nil out this form in swank-sbcl.lisp?
> > >
> > > (setf (sb-bsd-sockets:non-blocking-mode socket) t)
> >
> > Works, thanks!
> >
> > Is this the right solution, though? I'm thinking that it might
> > be better to have a safe-read-form (or something) that recognises
> > EAGAIN...
>
> We do it like this in the CMUCL backend. It means that a
> single-threaded Lisp will be blocked while it's in a dialogue with
> Emacs. I think it's the Right Way.
>
> It seems like the main alternative is to implicitly call the
> SERVE-EVENT loop on EWOULDBLOCK. As an Erlang programmer this strikes
> me as a Really Bad Idea, but it might be practical for others :-)
I've just gone through src/code/fd-streams.lisp and
contrib/sb-simple-streams.internal.lisp and copied all code that
references sb-unix:ewouldblock into ~/.sbclrc, replacing
sb{!,-}-unix:ewouldblock with 35. This does not seem to work, either,
though it is possible that fixing unix.lisp and rebuilding would work.
I can certainly live with the fix you suggested (this is not connected
with the fact that I've done some Erlang programming in the past :-)
Thanks for all the help, so far. I'll report on the result of
a full SBCL rebuild later.
More information about the slime-devel
mailing list