[Ecls-list] About sockets - maybe last iteration?
Matthew Mondor
mm_lists at pulsar-zone.net
Wed Feb 17 20:15:19 UTC 2010
On Wed, 17 Feb 2010 20:34:57 +0100
"Tobias C. Rittweiler" <tcr at freebits.de> wrote:
> How did this assumption manifest itself?
I had the change in my local tree for sockets to use buffering mode by
default since a while back, and slime would initially get stuck at
startup. After checking the ecl-swank code I noticed that it did not
specify the buffering type (and indeed without the buffering change
single bytes were read in and out at a time as shown via ktrace), and
that if adding :buffering :none to swank-ecl it worked again. Note
that this is not a current slime.
In the archives, you'll also see my earlier proposal to make socket
streams buffered by default. I also posted on slime-devel proposing
the addition of :buffering :none which made slime work again with my
ECL tree which did have the :full by default changes.
Some MsgID references:
<200908160144.n7G1ilek018526 at ginseng.xisop>
<200908160227.n7G2RPUi002970 at ginseng.xisop>
<c159f9ab0908160150n5ddc003dk6ac9258814ae38a3 at mail.gmail.com>
An earlier diff:
http://sourceforge.net/tracker/index.php?func=detail&atid=398053&aid=2838358&group_id=30035
(was mostly applied then except for the buffering full changes, with
fear that it might break other ECL-specific software assuming
unbuffered socket streams by default. But with a recent commit socket
streams are really buffered by default in the official tree).
The fix I had to do to swank-ecl back then here so slime continued to
work:
(defun make-socket-io-stream (socket)
(sb-bsd-sockets:socket-make-stream socket
:output t
:input t
+ :buffering :none
:element-type 'base-char))
Considering there were a number of swank-ecl changes lately, I'm about
to soon try a more recent slime.
Thanks,
--
Matt
More information about the ecl-devel
mailing list