summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--sys/src/cmd/aan.c7
1 files changed, 5 insertions, 2 deletions
diff --git a/sys/src/cmd/aan.c b/sys/src/cmd/aan.c
index bf7456279..fd2b15b0e 100644
--- a/sys/src/cmd/aan.c
+++ b/sys/src/cmd/aan.c
@@ -178,7 +178,7 @@ Restart:
failed = 0;
lostsync = 0;
while (!done) {
- if (failed) {
+ if (netfd < 0 || failed) {
// Wait for the netreader to die.
while (netfd >= 0) {
dmessage(1, "main; waiting for netreader to die\n");
@@ -208,7 +208,7 @@ Restart:
}
if(++lostsync > 2){
- dmessage(2, "main; lost sync\n");
+ syslog(0, Logname, "connection seems hung up...");
failed = 1;
continue;
}
@@ -218,6 +218,9 @@ Restart:
case Unsent:
sendp(unacked, b);
+ if (netfd < 0)
+ break;
+
PBIT32(b->hdr.acked, inmsg);
if (writen(netfd, (uchar *)&b->hdr, Hdrsz) < 0) {