Fix git_close/http_close/local_close to set the transport's connected attribute to 0.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38
diff --git a/src/transports/git.c b/src/transports/git.c
index 5baa810..844b350 100644
--- a/src/transports/git.c
+++ b/src/transports/git.c
@@ -417,6 +417,8 @@ static int git_close(git_transport *transport)
return -1;
}
+ t->parent.connected = 0;
+
#ifdef GIT_WIN32
WSACleanup();
#endif
diff --git a/src/transports/http.c b/src/transports/http.c
index 2a8ebbb..9ea21a6 100644
--- a/src/transports/http.c
+++ b/src/transports/http.c
@@ -610,6 +610,8 @@ static int http_close(git_transport *transport)
return -1;
}
+ t->parent.connected = 0;
+
return 0;
}
diff --git a/src/transports/local.c b/src/transports/local.c
index 000993e..0e1ae37 100644
--- a/src/transports/local.c
+++ b/src/transports/local.c
@@ -190,6 +190,7 @@ static int local_close(git_transport *transport)
{
transport_local *t = (transport_local *)transport;
+ t->parent.connected = 0;
git_repository_free(t->repo);
t->repo = NULL;