Dolda2000 GitWeb
/
doldaconnect.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Moved the post-done transfer reset responsibility to transfer.c.
[doldaconnect.git]
/
daemon
/
transfer.c
diff --git
a/daemon/transfer.c
b/daemon/transfer.c
index
b713f52
..
32f3e28
100644
(file)
--- 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 {
transfer->localend = NULL;
}
} else {
- resettransfer(transfer);
+ if(transfer->dir == TRNSD_DOWN)
+ resettransfer(transfer);
+ else if(transfer->dir == TRNSD_UP)
+ transfer->close = 1;
}
}
}
}
@@
-325,7
+328,6
@@
void transfersetlocalend(struct transfer *transfer, struct socket *sk)
{
if(transfer->localend != NULL)
putsock(transfer->localend);
{
if(transfer->localend != NULL)
putsock(transfer->localend);
- socksetdebug(sk, 2, "localend");
getsock(transfer->localend = sk);
sk->data = transfer;
sk->readcb = (void (*)(struct socket *, void *))localread;
getsock(transfer->localend = sk);
sk->data = transfer;
sk->readcb = (void (*)(struct socket *, void *))localread;