about summary refs log tree commit diff
diff options
context:
space:
mode:
authorRichard Nyberg <rnyberg@murmeldjur.se>2006-07-28 13:50:11 +0000
committerRichard Nyberg <rnyberg@murmeldjur.se>2006-07-28 13:50:11 +0000
commit7ce1098dffbbe0e4314d20e525120623c0a13e5d (patch)
tree4bda0e8e61f07c38d4fd7197753aec07b765c955
parent45ceb46c42851a099205e4bcf3ae904c5ff8c221 (diff)
downloadbtpd-7ce1098dffbbe0e4314d20e525120623c0a13e5d.tar.gz
btpd-7ce1098dffbbe0e4314d20e525120623c0a13e5d.zip
Remove the events for a peer's socket before closing it. At least the epoll
libevent backend didn't like the fd to be closed. Reported by Ludvig Omholt.

-rw-r--r--btpd/peer.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/btpd/peer.c b/btpd/peer.c
index dce170f..7ce486d 100644
--- a/btpd/peer.c
+++ b/btpd/peer.c
@@ -30,9 +30,9 @@ peer_kill(struct peer *p)
     if (p->flags & PF_ON_WRITEQ)
         BTPDQ_REMOVE(&net_bw_writeq, p, wq_entry);
 
-    close(p->sd);
     btpd_ev_del(&p->in_ev);
     btpd_ev_del(&p->out_ev);
+    close(p->sd);
 
     nl = BTPDQ_FIRST(&p->outq);
     while (nl != NULL) {