X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ian/git?a=blobdiff_plain;f=recv.c;h=b163f9cf747a29570d104411a8987368939ce3b4;hb=e2d02662c513ccf5ed9391483cec014a12db087d;hp=115a7831ab00c4ea7e5a5a2a8d95742264cf8b67;hpb=62a5c8052810dc6e5716c1e1e3bf63294a350167;p=innduct.git diff --git a/recv.c b/recv.c index 115a783..b163f9c 100644 --- a/recv.c +++ b/recv.c @@ -119,8 +119,11 @@ void article_done(Article *art, int whichcount) { if (whichcount>=0 && !art->missing) art->ipf->counts.results[art->state][whichcount]++; - if (whichcount == RC_accepted) update_nocheck(1); - else if (whichcount == RC_unwanted) update_nocheck(0); + if (whichcount == RC_accepted) + update_nocheck(1); + else if (whichcount == RC_unwanted || + (whichcount == RC_rejected && art->state == art_Unsolicited)) + update_nocheck(0); InputFile *ipf= art->ipf; @@ -185,8 +188,9 @@ void *peer_rd_ok(oop_source *lp, oop_read *oread, oop_rd_event ev, conn->quitting, sani); } else { LIST_REMOVE(conns,conn); - notice("C%d (now %d) idle connection closed (%s)", + info("C%d (now %d) idle connection closed (%s)", conn->fd, conns.count, conn->quitting); + notice_conns_fewer(); assert(!busy); conn_dispose(conn); } @@ -223,8 +227,9 @@ void *peer_rd_ok(oop_source *lp, oop_read *oread, oop_rd_event ev, PEERBADMSG("peer timed us out or stopped accepting articles"); LIST_REMOVE(conns,conn); - notice("C%d (now %d) idle connection closed by peer", - conns.count, conn->fd); + info("C%d (now %d) idle connection closed by peer", + conns.count, conn->fd); + notice_conns_fewer(); conn_dispose(conn); return OOP_CONTINUE;