X-Git-Url: http://git.silcnet.org/gitweb/?p=silc.git;a=blobdiff_plain;f=lib%2Fsilcutil%2Fsilcsockconn.c;h=a49422487a0329c1262989edbe2ff790fce95248;hp=6817c5daea20f98150f7c52b3e9f4a696bc97e3e;hb=413da0f8686910f5e627393157566ae729ca99c4;hpb=050bd9d9e5d843220f3f393a18ab5011622237b9 diff --git a/lib/silcutil/silcsockconn.c b/lib/silcutil/silcsockconn.c index 6817c5da..a4942248 100644 --- a/lib/silcutil/silcsockconn.c +++ b/lib/silcutil/silcsockconn.c @@ -103,6 +103,10 @@ SILC_TASK_CALLBACK(silc_socket_heartbeat) if (!hb->heartbeat) return; + if (SILC_IS_DISCONNECTING(hb->sock) || + SILC_IS_DISCONNECTED(hb->sock)) + return; + if (hb->hb_callback) hb->hb_callback(hb->sock, hb->hb_context); @@ -250,6 +254,10 @@ void silc_socket_host_lookup(SilcSocketConnection sock, SILC_LOG_DEBUG(("Performing async host lookup")); + if (SILC_IS_DISCONNECTING(sock) || + SILC_IS_DISCONNECTED(sock)) + return; + lookup = silc_calloc(1, sizeof(*lookup)); lookup->sock = silc_socket_dup(sock); /* Increase reference counter */ lookup->callback = callback;