Moved the post-done transfer reset responsibility to transfer.c.
[doldaconnect.git] / daemon / transfer.c
index b713f52..32f3e28 100644 (file)
@@ -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;
     }
 }
 
@@ -325,7 +328,6 @@ void transfersetlocalend(struct transfer *transfer, struct socket *sk)
 {
     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;