Skip to content

Commit

Permalink
smart: send a flush when we disconnect
Browse files Browse the repository at this point in the history
The git server wants to hear a flush from us when we disconnect,
particularly when we want to perform a fetch but are up to date.
  • Loading branch information
carlosmn committed May 20, 2014
1 parent 588a43a commit ac11219
Showing 1 changed file with 12 additions and 0 deletions.
12 changes: 12 additions & 0 deletions src/transports/smart.c
Original file line number Diff line number Diff line change
Expand Up @@ -272,6 +272,18 @@ static int git_smart__close(git_transport *transport)
unsigned int i;
git_pkt *p;
int ret;
git_smart_subtransport_stream *stream;
const char flush[] = "0000";

/*
* If we're still connected at this point and not using RPC,
* we should say goodbye by sending a flush, or git-daemon
* will complain that we disconnected unexpectedly.
*/
if (t->connected && !t->rpc &&
!t->wrapped->action(&stream, t->wrapped, t->url, GIT_SERVICE_UPLOADPACK)) {
t->current_stream->write(t->current_stream, flush, 4);
}

ret = git_smart__reset_stream(t, true);

Expand Down

0 comments on commit ac11219

Please sign in to comment.