summaryrefslogtreecommitdiffstats
path: root/winsup/cygwin/tty.cc
diff options
context:
space:
mode:
Diffstat (limited to 'winsup/cygwin/tty.cc')
-rw-r--r--winsup/cygwin/tty.cc16
1 files changed, 11 insertions, 5 deletions
diff --git a/winsup/cygwin/tty.cc b/winsup/cygwin/tty.cc
index b564d6620..982bfab57 100644
--- a/winsup/cygwin/tty.cc
+++ b/winsup/cygwin/tty.cc
@@ -22,7 +22,6 @@ details. */
#include "dtable.h"
#include "cygheap.h"
#include "pinfo.h"
-#include "cygwin/cygserver_transport.h"
#include "cygwin/cygserver.h"
#include "shared_info.h"
#include "cygthread.h"
@@ -405,10 +404,17 @@ tty::common_init (fhandler_pty_master *ptym)
/* FIXME: we shold NOT set the security wide open when the
daemon is running
*/
- if (wincap.has_security () && cygserver_running != CYGSERVER_OK &&
- (SetKernelObjectSecurity (hMainProc, DACL_SECURITY_INFORMATION,
- get_null_sd ()) == FALSE))
- system_printf ("Can't set process security, %E");
+ if (wincap.has_security ())
+ {
+ if (cygserver_running == CYGSERVER_UNKNOWN)
+ cygserver_init ();
+
+ if (cygserver_running != CYGSERVER_OK
+ && !SetKernelObjectSecurity (hMainProc,
+ DACL_SECURITY_INFORMATION,
+ get_null_sd ()))
+ system_printf ("Can't set process security, %E");
+ }
/* Create synchronisation events */