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;
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);
}
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;