From 1c9b1f27ae2c73853f1c493885315506923a04be Mon Sep 17 00:00:00 2001 From: fatbob313 Date: Tue, 21 Dec 2010 21:13:43 +0000 Subject: [PATCH] Patch by J Sisson: Conditionally compile with scheduler setting support if target supports it. --- src/main.c | 19 +++++++++++++++++-- 1 file changed, 17 insertions(+), 2 deletions(-) diff --git a/src/main.c b/src/main.c index d1351dd..8c5febd 100644 --- a/src/main.c +++ b/src/main.c @@ -37,11 +37,12 @@ #include #include #include -#include #include #include #include - +#ifdef _POSIX_PRIORITY_SCHEDULING +#include +#endif #include "server.h" #include "ssl.h" #include "channel.h" @@ -111,6 +112,7 @@ void daemonize() } +#ifdef _POSIX_PRIORITY_SCHEDULING void setscheduler() { int rc; @@ -122,6 +124,7 @@ void setscheduler() if (rc < 0) Log_warn("Failed to set scheduler: %s", strerror(errno)); } +#endif void printhelp() { @@ -130,7 +133,9 @@ void printhelp() printf(" -d - Do not deamonize\n"); printf(" -p - Write PID to this file\n"); printf(" -c - Specify configuration file\n"); +#ifdef _POSIX_PRIORITY_SCHEDULING printf(" -r - Run with realtime priority\n"); +#endif printf(" -a
- Bind to IP address\n"); printf(" -b - Bind to port\n"); printf(" -h - Print this help\n"); @@ -140,13 +145,19 @@ void printhelp() int main(int argc, char **argv) { bool_t nodaemon = false; +#ifdef _POSIX_PRIORITY_SCHEDULING bool_t realtime = false; +#endif char *conffile = NULL, *pidfile = NULL; int c; struct utsname utsbuf; /* Arguments */ +#ifdef _POSIX_PRIORITY_SCHEDULING while ((c = getopt(argc, argv, "drp:c:a:b:h")) != EOF) { +#else + while ((c = getopt(argc, argv, "dp:c:a:b:h")) != EOF) { +#endif switch(c) { case 'c': conffile = optarg; @@ -166,9 +177,11 @@ int main(int argc, char **argv) case 'h': printhelp(); break; +#ifdef _POSIX_PRIORITY_SCHEDULING case 'r': realtime = true; break; +#endif default: fprintf(stderr, "Unrecognized option\n"); printhelp(); @@ -213,8 +226,10 @@ int main(int argc, char **argv) Chan_init(); Client_init(); +#ifdef _POSIX_PRIORITY_SCHEDULING if (realtime) setscheduler(); +#endif Server_run(); -- 2.30.2