Protobuf definitions file from Mumble sources.
[umurmur.git] / src / main.c
index 6892907142cf9eaceeb64882c501567e212a3d94..5139291e9ceda08029ba886f03dfd2eb17f1dca0 100644 (file)
@@ -45,8 +45,7 @@
 #include "log.h"
 #include "client.h"
 #include "conf.h"
-
-#define UMURMUR_VERSION "0.1.0"
+#include "version.h"
 
 void lockfile(const char *pidfile)
 {
@@ -57,7 +56,7 @@ void lockfile(const char *pidfile)
        
        if (lfp < 0)
                Log_fatal("Cannot open PID-file %s for writing", pidfile);
-       sprintf(str,"%d\n",getpid());
+       sprintf(str,"%d\n", getpid());
        write(lfp, str, strlen(str)); /* record pid to lockfile */
        Log_info("PID-file: %s", pidfile);
 }
@@ -119,11 +118,12 @@ void setscheduler()
 
 void printhelp()
 {
-       printf("uMurmur version %s. Mumble protocol %d\n", UMURMUR_VERSION, MESSAGE_STREAM_VERSION);
+       printf("uMurmur version %s. Mumble protocol %d.%d.%d\n", UMURMUR_VERSION, PROTVER_MAJOR, PROTVER_MINOR, PROTVER_PATCH);
        printf("Usage: umurmurd [-d] [-p <pidfile>] [-c <conf file>] [-h]\n");
        printf("       -d             - Do not deamonize\n");
        printf("       -p <pidfile>   - Write PID to this file\n");
        printf("       -c <conf file> - Specify configuration file\n");
+       printf("       -r             - Run with realtime priority\n");
        printf("       -h             - Print this help\n");
        exit(0);
 }
@@ -131,11 +131,12 @@ void printhelp()
 int main(int argc, char **argv)
 {
        bool_t nodaemon = false;
+       bool_t realtime = false;
        char *conffile = NULL, *pidfile = NULL;
        int c;
        
        /* Arguments */
-       while ((c = getopt(argc, argv, "dp:c:h")) != EOF) {
+       while ((c = getopt(argc, argv, "drp:c:h")) != EOF) {
                switch(c) {
                case 'c':
                        conffile = optarg;
@@ -149,6 +150,9 @@ int main(int argc, char **argv)
                case 'h':
                        printhelp();
                        break;
+               case 'r':
+                       realtime = true;
+                       break;
                default:
                        fprintf(stderr, "Unrecognized option\n");
                        printhelp();
@@ -182,7 +186,9 @@ int main(int argc, char **argv)
        Chan_init();
        Client_init();
 
-       setscheduler();
+       if (realtime)
+               setscheduler();
+       
        Server_run();
        
        SSL_deinit();