git/list[1] front-page[2] threads[3] people[4] search[5] about
 

[PATCH] Make sure git_connect() always give two file descriptors.

From
Junio C Hamano <junkio@cox.net>
Date
Jan 22, 2007, 01:10 UTC
Message-ID
<7v3b63zx0k.fsf_-_@assigned-by-dhcp.cox.net>
In-Reply-To
<Pine.LNX.4.64.0701211554450.14248@woody.osdl.org>

Earlier, git_connect() returned the same fd when the destination was remote (i.e. we used socket to communicate with it) and two separate fds when the destination was local (i.e. we used pipe(2)).

This forced callers who do close() and dup() to really care which was which, and most of the existing callers got this wrong, although without much visible ill effect.

Fix it to uniformly use two separate fd, so if somebody wants to close only reader side can just do close() on it without worrying about it accidentally also closing the writer side or vice versa.

Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Signed-off-by: Junio C Hamano <junkio@cox.net>
---
 * Your patch; just checking if the above log message makes sense...
 connect.c |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)
diff --git a/connect.c b/connect.c
index 66daa11..7844888 100644
--- a/connect.c
+++ b/connect.c
@@ -529,7 +529,7 @@ static void git_tcp_connect(int fd[2], char *host)
 	int sockfd = git_tcp_connect_sock(host);
 
 	fd[0] = sockfd;
-	fd[1] = sockfd;
+	fd[1] = dup(sockfd);
 }
 
 
-- 
1.5.0.rc2
Previous: Junio C HamanoNext: Linus Torvalds
Message 10 of 22 in “git-push through git protocol”
  1. Bill LearJan 21, 2007
  2. Jakub NarebskiJan 21, 2007
  3. Linus TorvaldsJan 21, 2007
  4. Bill LearJan 21, 2007
  5. Johannes SchindelinJan 21, 2007
  6. Bill LearJan 21, 2007
  7. Linus TorvaldsJan 21, 2007
  8. Linus TorvaldsJan 22, 2007
  9. Junio C HamanoJan 22, 2007
  10. Make sure git_connect() always give two file descriptors.Junio C Hamano, Jan 22, 2007
  11. Linus TorvaldsJan 22, 2007
  12. Bill LearJan 22, 2007
  13. Bill LearJan 22, 2007
  14. Linus TorvaldsJan 22, 2007
  15. Martin LanghoffJan 22, 2007
  16. Linus TorvaldsJan 22, 2007
  17. Bill LearJan 22, 2007
  18. Bill LearJan 22, 2007
  19. Martin LanghoffJan 21, 2007
  20. Bill LearJan 22, 2007
  21. Martin LanghoffJan 22, 2007
  22. Jakub NarebskiJan 22, 2007

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.