Revert "ctdb-common: Use SCHED_RESET_ON_FORK when setting SCHED_FIFO"
authorAmitay Isaacs <amitay@gmail.com>
Mon, 24 Oct 2016 07:24:54 +0000 (18:24 +1100)
committerMartin Schwenke <martins@samba.org>
Tue, 25 Oct 2016 09:28:28 +0000 (11:28 +0200)
BUG: https://bugzilla.samba.org/show_bug.cgi?id=12392

Feature SCHED_RESET_ON_FORK is completely broken on RHEL6 and RHEL7
distributions.  So do not rely on SCHED_RESET_ON_FORK for now.

This reverts commit 1be8564e553ce044426dbe7b3987edf514832940.

Signed-off-by: Amitay Isaacs <amitay@gmail.com>
Reviewed-by: Martin Schwenke <martin@meltin.net>
Autobuild-User(master): Martin Schwenke <martins@samba.org>
Autobuild-Date(master): Tue Oct 25 11:28:28 CEST 2016 on sn-devel-144

ctdb/common/system_util.c

index 9fc6c444d601665f613b4c9a1a796f789b2122d7..9e897c21c4bf100675bf3ea113ba5b581f4c959d 100644 (file)
@@ -68,14 +68,10 @@ bool set_scheduler(void)
 #else /* no AIX */
 #if HAVE_SCHED_SETSCHEDULER
        struct sched_param p;
-       int policy = SCHED_FIFO;
 
        p.sched_priority = 1;
 
-#ifdef SCHED_RESET_ON_FORK
-       policy |= SCHED_RESET_ON_FORK;
-#endif
-       if (sched_setscheduler(0, policy, &p) == -1) {
+       if (sched_setscheduler(0, SCHED_FIFO, &p) == -1) {
                DEBUG(DEBUG_CRIT,("Unable to set scheduler to SCHED_FIFO (%s)\n",
                         strerror(errno)));
                return false;
@@ -108,7 +104,6 @@ void reset_scheduler(void)
 #endif
 #else /* no AIX */
 #if HAVE_SCHED_SETSCHEDULER
-#ifndef SCHED_RESET_ON_FORK
        struct sched_param p;
 
        p.sched_priority = 0;
@@ -117,7 +112,6 @@ void reset_scheduler(void)
        }
 #endif
 #endif
-#endif
 }
 
 bool parse_ipv4(const char *s, unsigned port, struct sockaddr_in *sin)