Adjust pull request #80
authorFelix Morgner <felix.morgner@gmail.com>
Thu, 26 Jan 2017 12:08:41 +0000 (13:08 +0100)
committerFelix Morgner <felix.morgner@gmail.com>
Thu, 26 Jan 2017 12:11:47 +0000 (13:11 +0100)
1  2 
src/main.c

diff --cc src/main.c
index bc913395f8b56e784709aac25ed9839ca1820f73,d98fb6aca3a89b42fa3d4fbe2d21d51cd74208ec..c74d9646bd71f168ee29627019a76da272ca61ba
@@@ -322,20 -322,6 +322,13 @@@ int main(int argc, char **argv
                        Log_init(false);
                        if (pidfile != NULL)
                                lockfile(pidfile);
 +#ifdef POSIX_PRIORITY_SCHEDULING
 +                      /* Set the scheduling policy, has to be called after daemonizing
 +                       * but before we drop privileges */
 +                      if (realtime)
 +                              setscheduler();
 +#endif
 +
-                       switch_user();
-                       /* Reopen log file. If user switch results in access denied, we catch
-                        * it early.
-                        */
-                       Log_reset();
                }
                else Log_init(true);
  
      Sharedmemory_init( bindport, bindport6 );
  #endif
  
 -#ifdef POSIX_PRIORITY_SCHEDULING
 -              if (realtime)
 -                      setscheduler();
 -#endif
++              if(!nodaemon) {
++                      /* SSL and scheduling is setup, we can drop privileges now */
++                      switch_user();
 -              switch_user();
 -              /* Reopen log file. If user switch results in access denied, we catch
 -               * it early.
 -               */
 -              Log_reset();
++                      /* Reopen log file. If user switch results in access denied, we catch
++                       * it early.
++                       */
++                      Log_reset();
++              }
                Server_run();
  
  #ifdef USE_SHAREDMEMORY_API