summaryrefslogtreecommitdiffstats
path: root/lib/libfetch
diff options
context:
space:
mode:
Diffstat (limited to 'lib/libfetch')
-rw-r--r--lib/libfetch/ftp.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/lib/libfetch/ftp.c b/lib/libfetch/ftp.c
index 0ee7488..f564592 100644
--- a/lib/libfetch/ftp.c
+++ b/lib/libfetch/ftp.c
@@ -419,6 +419,8 @@ _ftp_closefn(void *v)
io->dconn = NULL;
DEBUG(fprintf(stderr, "Waiting for final status\n"));
r = _ftp_chkerr(io->cconn);
+ if (io->cconn == cached_connection && io->cconn->ref == 1)
+ cached_connection = NULL;
_fetch_close(io->cconn);
free(io);
return (r == FTP_TRANSFER_COMPLETE) ? 0 : -1;
@@ -833,6 +835,8 @@ static void
_ftp_disconnect(conn_t *conn)
{
(void)_ftp_cmd(conn, "QUIT");
+ if (conn == cached_connection && conn->ref == 1)
+ cached_connection = NULL;
_fetch_close(conn);
}
OpenPOWER on IntegriCloud