From: Pekka Riikonen Date: Wed, 14 Feb 2007 14:45:41 +0000 (+0000) Subject: Fixed FD task deleting in TCP connecting. X-Git-Tag: silc.client.1.1.beta1~21 X-Git-Url: http://git.silcnet.org/gitweb/?p=silc.git;a=commitdiff_plain;h=44b6d0a15ba235cbfef3a8420c799b5051b05033 Fixed FD task deleting in TCP connecting. --- diff --git a/lib/silcutil/unix/silcunixnet.c b/lib/silcutil/unix/silcunixnet.c index f7ddb18d..ba1736dd 100644 --- a/lib/silcutil/unix/silcunixnet.c +++ b/lib/silcutil/unix/silcunixnet.c @@ -476,7 +476,6 @@ SILC_TASK_CALLBACK(silc_net_connect_wait) { SilcNetConnect conn = context; SILC_FSM_EVENT_SIGNAL(&conn->event); - silc_schedule_task_del_by_fd(schedule, conn->sock); } SILC_FSM_STATE(silc_net_connect_st_start) @@ -601,6 +600,8 @@ SILC_FSM_STATE(silc_net_connect_st_connected) if (conn->aborted) { /** Aborted */ + silc_schedule_unset_listen_fd(schedule, conn->sock); + silc_schedule_task_del_by_fd(schedule, conn->sock); silc_fsm_next(fsm, silc_net_connect_st_finish); return SILC_FSM_CONTINUE; } @@ -608,8 +609,8 @@ SILC_FSM_STATE(silc_net_connect_st_connected) ret = silc_net_get_socket_opt(conn->sock, SOL_SOCKET, SO_ERROR, &opt, &optlen); - silc_schedule_task_del_by_fd(schedule, conn->sock); silc_schedule_unset_listen_fd(schedule, conn->sock); + silc_schedule_task_del_by_fd(schedule, conn->sock); if (ret != 0 || opt != 0) { if (conn->retry) {