From b38037ff5b7c2779469cffed81da6774114807ef Mon Sep 17 00:00:00 2001 From: Fredrik Tolf Date: Sat, 18 Oct 2008 03:32:17 +0200 Subject: [PATCH] Moved the post-done transfer reset responsibility to transfer.c. --- daemon/fnet-dc.c | 7 +------ daemon/transfer.c | 5 ++++- 2 files changed, 5 insertions(+), 7 deletions(-) diff --git a/daemon/fnet-dc.c b/daemon/fnet-dc.c index 807588f..f8b7606 100644 --- a/daemon/fnet-dc.c +++ b/daemon/fnet-dc.c @@ -2758,10 +2758,6 @@ static void peerdetach(struct dcpeer *peer) closesock(peer->trpipe); quitsock(peer->trpipe); peer->trpipe = NULL; - if(peer->transfer->dir == TRNSD_UP) - peer->transfer->close = 1; - else if(peer->transfer->dir == TRNSD_DOWN) - resettransfer(peer->transfer); peer->transfer = NULL; } @@ -2831,9 +2827,8 @@ static void trpipeerr(struct socket *sk, int errno, struct dcpeer *peer) peer->state = PEER_SYNC; dctransgotdata(peer->transfer, peer); peerdetach(peer); - if(peer->state != PEER_CMD) { + if(peer->state != PEER_CMD) peer->close = 1; - } } static struct socket *mktrpipe(struct dcpeer *peer) diff --git a/daemon/transfer.c b/daemon/transfer.c index 893953d..32f3e28 100644 --- a/daemon/transfer.c +++ b/daemon/transfer.c @@ -189,7 +189,10 @@ static void dataerr(struct socket *sk, int errno, struct transfer *transfer) transfer->localend = NULL; } } else { - resettransfer(transfer); + if(transfer->dir == TRNSD_DOWN) + resettransfer(transfer); + else if(transfer->dir == TRNSD_UP) + transfer->close = 1; } } -- 2.11.0