summaryrefslogtreecommitdiff
path: root/server/dispatch.c
diff options
context:
space:
mode:
authorGravatar John Kohl <jtkohl@mit.edu>1987-07-22 13:48:50 +0000
committerGravatar John Kohl <jtkohl@mit.edu>1987-07-22 13:48:50 +0000
commit67060a5fc27ee526c50389d8b4d4402ea25369f4 (patch)
tree2c99241c64b0105d61d2e8c1d0c50c313415d2eb /server/dispatch.c
parent3c490060103a499cba4fd4218b815a72a6dcc181 (diff)
protection for when we are brain dumping;
Diffstat (limited to 'server/dispatch.c')
-rw-r--r--server/dispatch.c9
1 files changed, 8 insertions, 1 deletions
diff --git a/server/dispatch.c b/server/dispatch.c
index f380555..ba777ab 100644
--- a/server/dispatch.c
+++ b/server/dispatch.c
@@ -355,8 +355,13 @@ ZSentType sent;
ZNotice_t acknotice;
ZPacket_t ackpack;
int packlen;
+ int notme = 0;
Code_t retval;
+ if (bdumping) { /* don't ack while dumping */
+ zdbug((LOG_DEBUG,"bdumping, no ack"));
+ return;
+ }
zdbug((LOG_DEBUG,"clt_ack type %d for %d to %s/%d",
(int) sent,
ntohs(notice->z_port),
@@ -366,7 +371,7 @@ ZSentType sent;
if (!server_which_server(who) &&
(hostm_find_server(&who->sin_addr) != me_server)) {
zdbug((LOG_DEBUG,"not me"));
- return;
+ notme = 1;
}
acknotice = *notice;
@@ -408,6 +413,8 @@ ZSentType sent;
syslog(LOG_WARNING, "clt_ack xmit: %s", error_message(retval));
return;
}
+ if (notme)
+ hostm_deathgram(who, me_server);
return;
}