summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNate Lawson <njl@FreeBSD.org>2002-10-25 01:17:32 +0000
committerNate Lawson <njl@FreeBSD.org>2002-10-25 01:17:32 +0000
commit13cc1c8394eba4cc00865f84b898d6d1718a5e48 (patch)
tree6aafd9452a5fa806927f199abc7b17b4dcebcb0c
parent9ab73fd11a2bf020a595ce4503b5d54c4645410f (diff)
Notes
-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 0ee748830d9e..f56459270e60 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);
}