summaryrefslogtreecommitdiff
path: root/server/client.c
diff options
context:
space:
mode:
authorGravatar John Kohl <jtkohl@mit.edu>1987-11-15 18:46:55 +0000
committerGravatar John Kohl <jtkohl@mit.edu>1987-11-15 18:46:55 +0000
commit40f07c41fb09150d3e974331a64ab6373a13f04e (patch)
tree9d412b0f62871766b0e30b1e003b75cf85a533f5 /server/client.c
parent6db98fdc9aa6252b33fdd6f8dad159059cb467ad (diff)
extra arg to client_deregister: if non-zero, flush the locations
associated with the client
Diffstat (limited to 'server/client.c')
-rw-r--r--server/client.c11
1 files changed, 7 insertions, 4 deletions
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 */