Kaynağa Gözat

r2383 | fabbione | 2009-08-09 22:39:45 -0700 (Sun, 09 Aug 2009) | 10 lines

corosync: move logsys thread config with all the others

logsys thread priority was configured after forking the
wthread process and spread the scheduler priority config
across a large chunk of code in main.c

Now that logsys scheduler priority can be invoked at any time,
move the code together with corosync_setscheduler code.


git-svn-id: http://svn.fedorahosted.org/svn/corosync/branches/flatiron@2436 fd59a12c-fef9-0310-b244-a6a79926bd2f
Steven Dake 16 yıl önce
ebeveyn
işleme
83ea476e99
1 değiştirilmiş dosya ile 13 ekleme ve 10 silme
  1. 13 10
      exec/main.c

+ 13 - 10
exec/main.c

@@ -699,11 +699,24 @@ static void corosync_setscheduler (void)
 			global_sched_param.sched_priority = 0;
 			log_printf (LOGSYS_LEVEL_WARNING, "Could not set SCHED_RR at priority %d: %s\n",
 				global_sched_param.sched_priority, strerror (errno));
+
+			logsys_thread_priority_set (SCHED_OTHER, NULL, 1);
 		} else {
 			/*
 			 * Turn on SCHED_RR in ipc system
 			 */
 			ipc_init_state.sched_policy = SCHED_RR;
+
+			/*
+			 * Turn on SCHED_RR in logsys system
+			 */
+			res = logsys_thread_priority_set (SCHED_RR, &global_sched_param, 10);
+			if (res == -1) {
+				log_printf (LOGSYS_LEVEL_ERROR,
+					    "Could not set logsys thread priority."
+					    " Can't continue because of priority inversions.");
+				corosync_exit_error (AIS_DONE_LOGSETUP);
+			}
 		}
 	} else {
 		log_printf (LOGSYS_LEVEL_WARNING, "Could not get maximum scheduler priority: %s\n", strerror (errno));
@@ -885,16 +898,6 @@ int main (int argc, char **argv)
 		corosync_exit_error (AIS_DONE_MAINCONFIGREAD);
 	}
 	logsys_fork_completed();
-	if (setprio) {
-		res = logsys_thread_priority_set (SCHED_RR, &global_sched_param, 10);
-		if (res == -1) {
-			log_printf (LOGSYS_LEVEL_ERROR,
-				"Could not set logsys thread priority.  Can't continue because of priority inversions.");
-			corosync_exit_error (AIS_DONE_LOGSETUP);
-		}
-	} else {
-		res = logsys_thread_priority_set (SCHED_OTHER, NULL, 1);
-	}
 
 	/*
 	 * Make sure required directory is present