https://github.com/eventmachine/eventmachine/issues/276
Thanks a lot.
--
Iñaki Baz Castillo
<i...@aliax.net>
I've provided a code that reproduces the issue:
https://github.com/eventmachine/eventmachine/issues/276#issuecomment-2641869
Please, don't ignore this report, it's critical for me :(
I'd strongly appreciate any comment about this issue. Thanks.
I've verified the issues, and will be happy to take a look at fixing it as soon as I have some time to do so. Until then, the best I can recommend is to rebind after unbind is called.
>
> --
> Iñaki Baz Castillo
> <i...@aliax.net>
>
> --
> You received this message because you are subscribed to the Google Groups "EventMachine" group.
> To post to this group, send email to eventm...@googlegroups.com.
> To unsubscribe from this group, send email to eventmachine...@googlegroups.com.
> For more options, visit this group at http://groups.google.com/group/eventmachine?hl=en.
>
Thanks a lot James, if you need anything from me please ask it.
BTW I've realized of the following:
ed.cpp
--------------------------------------
int DatagramDescriptor::SendOutboundDatagram (const char *data, int
length, const char *address, int port)
{
[...]
return length;
}
---------------------------------------
In the example code reproducing the issue, after the second call to
send_datagram (which tries to send it to 1.2.3.4) the above function
returns a proper integer with value 5. This is, the socket is
destroyed *later*.
This is fixed in https://github.com/eventmachine/eventmachine/pull/297
(thanks to cabo which has fixed LOT of issues related to IPv6 and
UDP).
The pull request includes an optional callback for the issue described
in #276 so the user can decide what to do (close the socket, notify it
and react, or just ignore and continue it alive).