Re: tcludp - bug when closing 1-of-2 listening ports



On Nov 4, 8:35 pm, Neil Madden <n...@xxxxxxxxxxxxx> wrote:

I wouldn't assume that EOF isn't generated
somewhere -- e.g. testing here (Mac OS X 10.4.11 Intel, Tcl 8.6a4,
TclUDP 1.0.9) shows that [eof $s] on server does indeed return true
after closing the remote socket.

Yes, it is a side-effect of the zero-sized packet. All very well, but
not part of RFC 768. So it is a pathological EOF.

Indeed the behaviour of
(Tcl) UDP sockets seems to be identical to TCP sockets in this respect:
the only difference being that TCP sockets also generate EOF when no
data has been transmitted.

Again, that's just a property of one buggy implementation, not one of
the generic UDP concept. For example, at C level if you just do
send...send..close(), you will never receive any EOF nor even zero-
sized packet on the other side.

Are you sure any actual packet is being transmitted here?

Wireshark is not cheating. The zero-sized packet is directly
correlated with that mutant EOF.

The maintainer is Pat Thoyts I believe.

Thanks for the info Neil. Will try to contact him.

-Alex

.