From bf52e1db38e23a3f1c6a1cabed85479d38ac5b43 Mon Sep 17 00:00:00 2001 From: "Carsten Haitzler (Rasterman)" Date: Mon, 30 Oct 2017 13:11:06 +0900 Subject: [PATCH] nvidia driver workaround atexit handlers for pam auth this works around an apparently atexit() handler in nvidia drivers that if you fork() a parent and do NOT exec() then the child process will end up messing with the parent processes access to the nvidia devices/display/whatever i believe via an atexit() handler because moving from exit() to _exit() solves the issue. fixes T6197 @fix --- src/bin/e_auth.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/bin/e_auth.c b/src/bin/e_auth.c index 78d171c2f..bfdb968a9 100644 --- a/src/bin/e_auth.c +++ b/src/bin/e_auth.c @@ -201,7 +201,7 @@ e_auth_begin(char *passwd) if (pamerr != PAM_SUCCESS) { free(current_user); - exit(1); + _exit(1); } pamerr = pam_authenticate(da.pam.handle, 0); pam_end(da.pam.handle, pamerr); @@ -211,10 +211,10 @@ e_auth_begin(char *passwd) if (pamerr == PAM_SUCCESS) { free(current_user); - exit(0); + _exit(0); } free(current_user); - exit(-1); + _exit(-1); return 0; }