diff --git a/asterisk.c b/asterisk.c index 228a1acd58..9c484605a2 100644 --- a/asterisk.c +++ b/asterisk.c @@ -795,6 +795,7 @@ int ast_set_priority(int pri) struct sched_param sched; memset(&sched, 0, sizeof(sched)); #ifdef __linux__ +#undef sched_setscheduler if (pri) { sched.sched_priority = 10; if (sched_setscheduler(0, SCHED_RR, &sched)) { @@ -805,12 +806,11 @@ int ast_set_priority(int pri) ast_verbose("Set to realtime thread\n"); } else { sched.sched_priority = 0; - if (sched_setscheduler(0, SCHED_OTHER, &sched)) { - ast_log(LOG_WARNING, "Unable to set normal priority\n"); - return -1; - } + /* According to the manpage, this can never fail, with these parameters. */ + sched_setscheduler(0, SCHED_OTHER, &sched); } #else +#undef setpriority if (pri) { if (setpriority(PRIO_PROCESS, 0, -10) == -1) { ast_log(LOG_WARNING, "Unable to set high priority\n"); @@ -819,10 +819,8 @@ int ast_set_priority(int pri) if (option_verbose) ast_verbose("Set to high priority\n"); } else { - if (setpriority(PRIO_PROCESS, 0, 0) == -1) { - ast_log(LOG_WARNING, "Unable to set normal priority\n"); - return -1; - } + /* According to the manpage, this can never fail, with these parameters. */ + setpriority(PRIO_PROCESS, 0, 0); } #endif return 0; diff --git a/include/asterisk.h b/include/asterisk.h index 68f17ea5f5..b8ea850385 100644 --- a/include/asterisk.h +++ b/include/asterisk.h @@ -21,6 +21,8 @@ #define DEFAULT_LANGUAGE "en" #define AST_CONFIG_MAX_PATH 255 +#define setpriority __PLEASE_USE_ast_set_priority_INSTEAD_OF_setpriority__ +#define sched_setscheduler __PLEASE_USE_ast_set_priority_INSTEAD_OF_sched_setscheduler__ /* provided in asterisk.c */ extern char ast_config_AST_CONFIG_DIR[AST_CONFIG_MAX_PATH];