[Openmcl-devel] bug with usocket and/or trunk ccl - "error #22"
Karsten Poeck
Karsten.Poeck at gmail.com
Wed May 20 11:44:55 PDT 2015
On 20.05.15 20:25, Chun Tian (binghe) wrote:
> Hi,
>
> I was working on this issue since 10 hours ago when I firstly saw the mail. I’ve already committed an initial fix [1] to usocket Git master, in which I handled two compatibility issues between usocket and ccl-1.11, and now there’s no error reported when creating and sending sockets. But it seems that CCL::SEND-TO cannot actually send out the data to a “connected” UDP socket, as a result the test code is blocked at (usocket:socket-receive …).
>
> Usocket’s backend code for CCL is basically just a wrapper (even more true for ccl-1.11), my next step is to remove all usocket wrappers and only use CCL’s native API to reproduce the same issue. I’ll submit trac tickets to CCL if I found something.
>
> Regards,
>
> Chun
>
Looking at the code for socket-connect in current usocket from quicklisp
there are a 2 things that leaved me slightly puzzled.
The signature is:
(defun socket-connect (host port &key (protocol :stream) element-type
timeout deadline nodelay
local-host local-port)
But later it does (host-to-hbo local-host). This fails miserably when
local-host is nil, which seems to be an ok use of it (and happens in our
example for the client socket)
It also does pass :address-family (openmcl-socket:socket-address-family
remote) to openmcl-socket:make-socket.
But remote is only set, when (and host port) otherwise it stays nil, so
the socket-address will also fail. This happens for me in the server socket.
Looking at your commit you seem to have addressed this already though :-)
Karsten
More information about the Openmcl-devel
mailing list