From 40f07c41fb09150d3e974331a64ab6373a13f04e Mon Sep 17 00:00:00 2001 From: John Kohl Date: Sun, 15 Nov 1987 18:46:55 +0000 Subject: extra arg to client_deregister: if non-zero, flush the locations associated with the client --- server/client.c | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) (limited to 'server/client.c') diff --git a/server/client.c b/server/client.c index 7a6badc..2425ae9 100644 --- a/server/client.c +++ b/server/client.c @@ -28,9 +28,10 @@ static char rcsid_client_s_c[] = "$Header$"; * ZClient_t **client; (RETURN) * ZServerDesc_t *server; * - * Code_t client_deregister(client, host) + * Code_t client_deregister(client, host, flush) * ZClient_t *client; * ZHostList_t *host; + * int flush; * * ZClient_t *client_which_client(who, notice) * struct sockaddr_in *who; @@ -115,9 +116,10 @@ ZServerDesc_t *server; */ void -client_deregister(client, host) +client_deregister(client, host, flush) ZClient_t *client; ZHostList_t *host; +int flush; { ZClientList_t *clients; @@ -127,8 +129,9 @@ ZHostList_t *host; /* release subscriptions */ (void) subscr_cancel_client(client); - /* release locations */ - (void) uloc_flush_client(&client->zct_sin); + if (flush) + /* release locations if this is a punted client */ + (void) uloc_flush_client(&client->zct_sin); /* unthread and release this client */ -- cgit v1.2.3