--- argus/argus.c.orig Tue Apr 14 16:32:33 2015 +++ argus/argus.c Thu Jul 16 21:37:14 2015 @@ -297,6 +297,7 @@ main (int argc, char *argv[]) uflag = 0; pflag = 6; + ArgusProgramName = argv[0]; if (strchr (argv[0], '/')) { #if defined(HAVE_STRLCPY) @@ -305,10 +306,9 @@ main (int argc, char *argv[]) bzero(path, MAXPATHNAMELEN); strncpy(path, argv[0], MAXPATHNAMELEN - 1); #endif - argv[0] = strrchr(argv[0], '/') + 1; + ArgusProgramName = strrchr(argv[0], '/') + 1; } - ArgusProgramName = argv[0]; #ifdef HAVE_SYSLOG #ifndef LOG_PERROR @@ -373,7 +373,7 @@ main (int argc, char *argv[]) setArgusMarReportInterval (ArgusOutputTask,ARGUS_MARSTATUSTIMER); if (!doconf) { - snprintf (path, MAXPATHNAMELEN - 1, "/etc/argus.conf"); + snprintf (path, MAXPATHNAMELEN - 1, SYSCONFDIR "/argus.conf"); if (stat (path, &statbuf) == 0) { ArgusParseResourceFile (ArgusModel, path); } @@ -611,7 +611,7 @@ main (int argc, char *argv[]) if ((status = pthread_attr_init(ArgusAttr)) != 0) ArgusLog (LOG_ERR, "pthreads init error"); -#if defined(_POSIX_THREAD_PRIORITY_SCHEDULING) && !defined(sun) && !defined(CYGWIN) && !defined(OpenBSD) +#if defined(_POSIX_THREAD_PRIORITY_SCHEDULING) && (_POSIX_THREAD_PRIORITY_SCHEDULING > 0) && !defined(sun) && !defined(CYGWIN) if ((pthread_attr_getschedpolicy(ArgusAttr, &thread_policy)) != 0) ArgusLog (LOG_ERR, "pthreads get policy error"); if ((pthread_attr_getschedparam(ArgusAttr, &thread_param)) != 0)