From e5e28835f5f0c4c5b52f0449e75b7f1c03a37548 Mon Sep 17 00:00:00 2001 From: Pekka Riikonen Date: Thu, 8 Jan 2009 22:32:47 +0200 Subject: [PATCH] Remove possible packet error timeouts in EOS callback --- apps/silcd/server.c | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/apps/silcd/server.c b/apps/silcd/server.c index 0b0e24cd..eb8aed23 100644 --- a/apps/silcd/server.c +++ b/apps/silcd/server.c @@ -27,6 +27,7 @@ SILC_TASK_CALLBACK(silc_server_connect_router); SILC_TASK_CALLBACK(silc_server_connect_to_router_retry); SILC_TASK_CALLBACK(silc_server_do_rekey); SILC_TASK_CALLBACK(silc_server_purge_expired_clients); +SILC_TASK_CALLBACK(silc_server_packet_error_timeout); static void silc_server_accept_new_connection(SilcNetStatus status, SilcStream stream, void *context); @@ -199,6 +200,10 @@ static void silc_server_packet_eos(SilcPacketEngine engine, if (!idata) return; + /* Remove any possible pending packet error timeout */ + silc_schedule_task_del_by_all(server->schedule, 0, + silc_server_packet_error_timeout, stream); + if (server->router_conn && server->router_conn->sock == stream && !server->router && server->standalone) { if (idata->sconn && idata->sconn->callback) @@ -3211,8 +3216,11 @@ void silc_server_free_sock_user_data(SilcServer server, if (!idata) return; + /* Remove any possible pending timeout */ silc_schedule_task_del_by_all(server->schedule, 0, silc_server_do_rekey, sock); + silc_schedule_task_del_by_all(server->schedule, 0, + silc_server_packet_error_timeout, sock); /* Cancel active protocols */ if (idata) { -- 2.24.0