X-Git-Url: http://git.silcnet.org/gitweb/?a=blobdiff_plain;f=lib%2Fsilcclient%2Fclient.c;h=f389f60dd0cfbd78023d6cf91414878c72946591;hb=18774fe934132c6e5376757e63e43ac3f3b22577;hp=59945b6ece412ab3f45141dfd179852ed4724552;hpb=8507ca91da8df1528aa29496bccbf61877b51d9c;p=silc.git diff --git a/lib/silcclient/client.c b/lib/silcclient/client.c index 59945b6e..f389f60d 100644 --- a/lib/silcclient/client.c +++ b/lib/silcclient/client.c @@ -1471,12 +1471,17 @@ void silc_client_close_connection(SilcClient client, SILC_TASK_CALLBACK(silc_client_disconnected_by_server_later) { SilcClient client = (SilcClient)context; + SilcClientConnection conn; SilcSocketConnection sock; SILC_CLIENT_GET_SOCK(client, fd, sock); if (sock == NULL) return; + conn = (SilcClientConnection)sock->user_data; + if (sock == conn->sock && sock->type != SILC_SOCKET_TYPE_CLIENT) + client->internal->ops->disconnect(client, conn); + silc_client_close_connection_real(client, sock, sock->user_data); }