cleanup setpriority thing to make it readable
authorMichael Tokarev <mjt@tls.msk.ru>
Fri, 5 Jun 2009 07:58:17 +0000 (11:58 +0400)
committerGuus Sliepen <guus@tinc-vpn.org>
Fri, 5 Jun 2009 08:02:55 +0000 (10:02 +0200)
src/tincd.c

index 27cd01ef05352a7540055334b83a86013afd61e7..d3594255f2877f4ce341102fc0cc158da65ddf04 100644 (file)
@@ -484,6 +484,15 @@ static bool drop_privs() {
        return true;
 }
 
+#ifdef HAVE_MINGW
+# define setpriority(level) SetPriorityClass(GetCurrentProcess(), level);
+#else
+# define NORMAL_PRIORITY_CLASS 0
+# define BELOW_NORMAL_PRIORITY_CLASS 10
+# define HIGH_PRIORITY_CLASS -10
+# define setpriority(level) nice(level)
+#endif
+
 int main(int argc, char **argv)
 {
        program_name = argv[0];
@@ -585,25 +594,13 @@ int main2(int argc, char **argv)
         char *priority = 0;
 
         if(get_config_string(lookup_config(config_tree, "ProcessPriority"), &priority)) {
-                if(!strcasecmp(priority, "Normal")) {
-#ifdef HAVE_MINGW
-                        SetPriorityClass(GetCurrentProcess(), NORMAL_PRIORITY_CLASS);
-#else
-                        nice(0);
-#endif
-                } else if(!strcasecmp(priority, "Low")) {
-#ifdef HAVE_MINGW
-                        SetPriorityClass(GetCurrentProcess(), BELOW_NORMAL_PRIORITY_CLASS);
-#else
-                        nice(10);
-#endif
-                } else if(!strcasecmp(priority, "High")) {
-#ifdef HAVE_MINGW
-                        SetPriorityClass(GetCurrentProcess(), HIGH_PRIORITY_CLASS);
-#else
-                        nice(-10);
-#endif
-                } else {
+                if(!strcasecmp(priority, "Normal"))
+                        setpriority(NORMAL_PRIORITY_CLASS);
+                else if(!strcasecmp(priority, "Low"))
+                        setpriority(BELOW_NORMAL_PRIORITY_CLASS);
+                else if(!strcasecmp(priority, "High"))
+                        setpriority(HIGH_PRIORITY_CLASS);
+                else {
                         logger(LOG_ERR, _("Invalid priority `%s`!"), priority);
                         goto end;
                 }