Commit Diff


commit - 737f4d6f847339db66392ca7618f4077d7580037
commit + 6d77726763cac967c5a9e8b5d629dee58c330306
blob - 6a968b5153e1180b5641e3cf6550148f03d137ac
blob + d226085872f605c64beddc72cf0bd6b94e54cd6c
--- web/web.c
+++ web/web.c
@@ -925,12 +925,12 @@ client_ev(int fd, int ev, void *d)
 		goto again;
 	}
 
-	if (!clt->done)
+	if (!clt->done && !clt->err)
 		clt->route(clt);
 
  again:
 	ev = bufio_pollev(&clt->bio);
-	if (ev == POLLIN && clt->done) {
+	if (ev == POLLIN && (clt->done || clt->err)) {
 		goto err; /* done with this client */
 	}