diff options
Diffstat (limited to 'src/transport/plugin_transport_udp.c')
-rw-r--r-- | src/transport/plugin_transport_udp.c | 15 |
1 files changed, 7 insertions, 8 deletions
diff --git a/src/transport/plugin_transport_udp.c b/src/transport/plugin_transport_udp.c index 4eb4b7f36..4fef8e0c6 100644 --- a/src/transport/plugin_transport_udp.c +++ b/src/transport/plugin_transport_udp.c @@ -2986,13 +2986,12 @@ remove_timeout_messages_and_select (struct Plugin *plugin, if (GNUNET_TIME_UNIT_ZERO.rel_value_us == remaining.rel_value_us) { /* Message timed out */ - udpw->qc (udpw->qc_cls, - udpw, - GNUNET_SYSERR); - /* Remove message */ removed = GNUNET_YES; dequeue (plugin, udpw); + udpw->qc (udpw->qc_cls, + udpw, + GNUNET_SYSERR); GNUNET_free (udpw); if (sock == plugin->sockv4) @@ -3166,11 +3165,11 @@ udp_select_send (struct Plugin *plugin, else { GNUNET_break (0); + dequeue (plugin, + udpw); udpw->qc (udpw->qc_cls, udpw, GNUNET_SYSERR); - dequeue (plugin, - udpw); notify_session_monitor (plugin, udpw->session, GNUNET_TRANSPORT_SS_UPDATE); @@ -3182,6 +3181,8 @@ udp_select_send (struct Plugin *plugin, udpw->msg_size, a, slen); + dequeue (plugin, + udpw); if (GNUNET_SYSERR == sent) { /* Failure */ @@ -3226,8 +3227,6 @@ udp_select_send (struct Plugin *plugin, udpw, GNUNET_OK); } - dequeue (plugin, - udpw); notify_session_monitor (plugin, udpw->session, GNUNET_TRANSPORT_SS_UPDATE); |