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

[PATCH 3/3] credential-cache--daemon: change to the socket dir on startup

From
Jeff King <peff@peff.net>
Date
Feb 23, 2016, 07:16 UTC
Message-ID
<20160223071604.GC8395@sigill.intra.peff.net>
In-Reply-To
<20160223071427.GA7489@sigill.intra.peff.net>
From: Jon Griffiths <jon_p_griffiths@yahoo.com>

Changing to the socket path stops the daemon holding open the directory the user was in when it was started, preventing umount from working. We're already holding open a socket in that directory, so there's no downside.

Thanks-to: Jeff King <peff@peff.net>
Signed-off-by: Jon Griffiths <jon_p_griffiths@yahoo.com>
Signed-off-by: Jeff King <peff@peff.net>
---
 credential-cache--daemon.c | 8 ++++++++
 1 file changed, 8 insertions(+)
diff --git a/credential-cache--daemon.c b/credential-cache--daemon.c
index 7cfcd37..776f315 100644
--- a/credential-cache--daemon.c
+++ b/credential-cache--daemon.c
@@ -236,6 +236,14 @@ static void init_socket_directory(const char *path)
 		if (mkdir(dir, 0700) < 0)
 			die_errno("unable to mkdir '%s'", dir);
 	}
+
+	/*
+	 * We don't actually care what our cwd is; we chdir here just to
+	 * be a friendly daemon and avoid tying up our original cwd.
+	 * If this fails, it's OK to just continue without that benefit.
+	 */
+	chdir(dir);
+
 	free(path_copy);
 }
 
-- 
2.7.2.645.g4e1306c
Previous: Jeff KingNext: Junio C Hamano
Message 4 of 8 in “credential-cache: give daemon a predictable cwd”
  1. 0/3 credential-cache: give daemon a predictable cwdJeff King, Feb 23, 2016
  2. 1/3 credential-cache--daemon: refactor check_socket_directoryJeff King, Feb 23, 2016
  3. 2/3 credential-cache--daemon: disallow relative socket pathJeff King, Feb 23, 2016
  4. 3/3 credential-cache--daemon: change to the socket dir on startupJeff King, Feb 23, 2016
  5. Junio C HamanoFeb 23, 2016
  6. Jeff KingFeb 23, 2016
  7. Junio C HamanoFeb 23, 2016
  8. Jeff KingFeb 23, 2016

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.