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

Chun Tian binghe.lisp at gmail.com
Sat Oct 17 05:47:18 UTC 2009


Hi, Matthew

Thanks, I think you're right. ECL's related internal functions which  
calling getsockopt(2)/setsockopt(2) assume the socket level is always  
"SOL_SOCKET" and didn't leave space for "IPPROTO_TCP". I made a patch  
to make those internal functions more general and now I can use this  
definition instead:

(define-sockopt sockopt-tcp-nodelay "IPPROTO_TCP" "TCP_NODELAY" bool)

Using the patch, now I didn't met any error on Linux, but I doubt if  
the TCP_NODELAY option is really set correctly ...

I hope ECL maintainers could have a look at my patch and consider  
merge it in some way.

Regards,

Chun Tian (binghe)

-------------- next part --------------
A non-text attachment was scrubbed...
Name: sockopt-tcp-nodelay.patch
Type: application/octet-stream
Size: 6287 bytes
Desc: not available
URL: <https://mailman.common-lisp.net/pipermail/ecl-devel/attachments/20091017/bbc67663/attachment.obj>
-------------- next part --------------


? 2009-10-17?11:06? Matthew Mondor ???

> On Sat, 17 Oct 2009 03:24:08 +0800
> Chun Tian <binghe.lisp at gmail.com> wrote:
>
>> One of our usocket user found a strange issue of ECL (9.10.2)'s
>> network function SB-BSD-SOCKETS:SOCKOPT-TCP-NODELAY:
>>
>>> (describe 'sb-bsd-sockets::sockopt-tcp-nodelay)
>
> Unless I'm mistaken, one problem which I can immediately see is that
> getsockopt(2)/setsockopt(2) calls always use SOL_SOCKET, when the
> TCP_NODELAY option is TCP protocol specific and must instead use 6 (or
> what a previous/initialization call to getprotobyname(3) returns for
> "TCP")...
> --  
> Matt
>
> ------------------------------------------------------------------------------
> Come build with us! The BlackBerry(R) Developer Conference in SF, CA
> is the only developer event you need to attend this year. Jumpstart  
> your
> developing skills, take BlackBerry mobile applications to market and  
> stay
> ahead of the curve. Join us from November 9 - 12, 2009. Register now!
> http://p.sf.net/sfu/devconference
> _______________________________________________
> Ecls-list mailing list
> Ecls-list at lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/ecls-list



More information about the ecl-devel mailing list