From: Jon Griffiths <[email protected]>

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 <[email protected]>
Signed-off-by: Jon Griffiths <[email protected]>
Signed-off-by: Jeff King <[email protected]>
---
 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
--
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to