diff --git a/kolabd/__init__.py b/kolabd/__init__.py --- a/kolabd/__init__.py +++ b/kolabd/__init__.py @@ -172,7 +172,7 @@ # Give up the session, all control, # all open file descriptors, see #5151 os.chdir("/") - os.umask(0) + old_umask = os.umask(0) os.setsid() pid = os.fork() @@ -191,6 +191,8 @@ os.open(os.devnull, os.O_WRONLY) os.open(os.devnull, os.O_WRONLY) + os.umask(old_umask) + log.remove_stdout_handler() self.set_signal_handlers() self.write_pid() diff --git a/saslauthd/__init__.py b/saslauthd/__init__.py --- a/saslauthd/__init__.py +++ b/saslauthd/__init__.py @@ -138,7 +138,7 @@ # Give up the session, all control, # all open file descriptors, see #5151 os.chdir("/") - os.umask(0) + old_umask = os.umask(0) os.setsid() pid = os.fork() @@ -153,6 +153,8 @@ os.close(1) os.close(2) + os.umask(old_umask) + self.thread_count += 1 log.remove_stdout_handler() self.set_signal_handlers() diff --git a/wallace/__init__.py b/wallace/__init__.py --- a/wallace/__init__.py +++ b/wallace/__init__.py @@ -618,7 +618,7 @@ # Give up the session, all control, # all open file descriptors, see #5151 os.chdir("/") - os.umask(0) + old_umask = os.umask(0) os.setsid() pid = os.fork() @@ -637,6 +637,8 @@ os.open(os.devnull, os.O_WRONLY) os.open(os.devnull, os.O_WRONLY) + os.umask(old_umask) + log.remove_stdout_handler() self.set_signal_handlers() self.write_pid()