discomfitor pushed a commit to branch enlightenment-0.21.

http://git.enlightenment.org/core/enlightenment.git/commit/?id=bf52e1db38e23a3f1c6a1cabed85479d38ac5b43

commit bf52e1db38e23a3f1c6a1cabed85479d38ac5b43
Author: Carsten Haitzler (Rasterman) <ras...@rasterman.com>
Date:   Mon Oct 30 13:11:06 2017 +0900

    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;
 }

-- 


Reply via email to