updates.
authorPekka Riikonen <priikone@silcnet.org>
Tue, 2 Apr 2002 17:05:57 +0000 (17:05 +0000)
committerPekka Riikonen <priikone@silcnet.org>
Tue, 2 Apr 2002 17:05:57 +0000 (17:05 +0000)
lib/silcclient/client_notify.c

index 1f9d56e18b8e10a15aebfca41583c13e840c1f6e..5dde20b584565c8434d20947c0c3a51571c4335d 100644 (file)
@@ -306,7 +306,7 @@ void silc_client_notify_by_server(SilcClient client,
 
     /* Some client implementations actually quit network by first doing
        LEAVE and then immediately SIGNOFF.  We'll check for this by doing 
-       check for the client after 15 seconds.  If it is not valid after
+       check for the client after 5 - 14 seconds.  If it is not valid after
        that we'll remove the client from cache. */
     if (!silc_hash_table_count(client_entry->channels)) {
       SilcClientNotifyResolve res = silc_calloc(1, sizeof(*res));
@@ -314,8 +314,8 @@ void silc_client_notify_by_server(SilcClient client,
       res->packet = silc_id_dup(client_id, SILC_ID_CLIENT);
       silc_schedule_task_add(client->schedule, 0,
                             silc_client_notify_check_client, conn,
-                            15, 0, SILC_TASK_TIMEOUT, 
-                            SILC_TASK_PRI_NORMAL);
+                            (5 + (silc_rng_get_rn16(client->rng) % 9)),
+                            0, SILC_TASK_TIMEOUT, SILC_TASK_PRI_NORMAL);
     }
 
     /* Notify application. The channel entry is sent last as this notify