Hi there, this fixes a segfault seen by sthen@ which I could only reproduce yesterday. I had fogotten to event_del() a persistent event.
Index: tcpbench.c =================================================================== RCS file: /cvs/src/usr.bin/tcpbench/tcpbench.c,v retrieving revision 1.22 diff -d -u -p -w -r1.22 tcpbench.c --- tcpbench.c 21 Jun 2011 17:31:07 -0000 1.22 +++ tcpbench.c 20 Aug 2011 06:34:06 -0000 @@ -642,6 +642,7 @@ again: } else if (n == 0) { if (ptb->vflag) fprintf(stderr, "%8d closed by remote end\n", sc->fd); + event_del(&sc->ev); close(sc->fd); TAILQ_REMOVE(&sc_queue, sc, entry); free(sc);