[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