[Ecls-list] [usocket-devel] ECL problem

Matthew Mondor mm_lists at pulsar-zone.net
Sun Oct 18 12:24:01 UTC 2009


On Sun, 18 Oct 2009 09:31:32 +0200
Juan Jose Garcia-Ripoll <juanjose.garciaripoll at googlemail.com> wrote:

I could test the fixed TCP_NODELAY and I confirm it also works fine for
me.

> On Sun, Oct 18, 2009 at 6:35 AM, Matthew Mondor
> <mm_lists at pulsar-zone.net> wrote:
> > We could use integer and a special linger case, which if <= 0 we place
> > 0 in both l_onoff and l_linger, or 1 in l_onoff otherwise with the
> > supplied integer for l_linger, which would be more useful.  Or, we
> > could require two values, a boolean and an integer (a list, vector, or
> > a struct).  Any suggestions?  I think that supporting SO_LINGER is a
> > nice feature, as I previously used that socket option in some of my C
> > software.
> 
> Your specification is ok with me. Seems compact and sensible, but it
> should be somehow documented. Socket options do not have documentation
> right now, do they?

At http://ecls.sourceforge.net/new-manual/ I see no socket related
documentation at all, but SBCL-documented ones are at
http://www.sbcl.org/manual/Socket-Options.html#Socket-Options

However, SBCL doesn't yet implement the SO_LINGER option but ECL does
attempt to support it (albeit is buggy using the bool code instead of a
struct linger).  I agree that it would be a good thing to have
documentation for the socket contrib, I could possibly also help to
write it eventually (I noticed that the mp related documentation also
needs an update to reflect current reality).

Among the possible API choices above to implement the SO_LINGER option,
assuming the single integer choice is good, I suggest the following
diff (tested on NetBSD only).

It also fixes two cases where socket-foo was exported instead of
sockopt-foo (on SBCL all socket option names have the sockopt- prefix
as well).

Thanks,
-- 
Matt
-------------- next part --------------
An embedded and charset-unspecified text was scrubbed...
Name: contrib-socket.diff.txt
URL: <https://mailman.common-lisp.net/pipermail/ecl-devel/attachments/20091018/e4b0006c/attachment.txt>


More information about the ecl-devel mailing list