projects
/
silc.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
|
inline
| side by side (parent:
9a3eb96
)
Remove possible packet error timeouts in EOS callback
author
Pekka Riikonen
<priikone@silcnet.org>
Thu, 8 Jan 2009 20:32:47 +0000
(22:32 +0200)
committer
Pekka Riikonen
<priikone@silcnet.org>
Thu, 8 Jan 2009 20:32:47 +0000
(22:32 +0200)
apps/silcd/server.c
patch
|
blob
|
history
diff --git
a/apps/silcd/server.c
b/apps/silcd/server.c
index 0b0e24cd40e90a60de5b3d921973088b82c86891..eb8aed23f7f98719e11df33c22a5d93d6ea83a81 100644
(file)
--- 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_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);
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;
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)
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;
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_do_rekey,
sock);
+ silc_schedule_task_del_by_all(server->schedule, 0,
+ silc_server_packet_error_timeout, sock);
/* Cancel active protocols */
if (idata) {
/* Cancel active protocols */
if (idata) {