Index: res/res_agi.c =================================================================== RCS file: /usr/cvsroot/asterisk/res/res_agi.c,v retrieving revision 1.45 diff -u -r1.45 res_agi.c --- res/res_agi.c 3 Aug 2005 04:17:12 -0000 1.45 +++ res/res_agi.c 10 Aug 2005 18:09:54 -0000 @@ -278,6 +278,9 @@ for (x=STDERR_FILENO + 2;x<1024;x++) close(x); + /* Don't run AGI scripts with realtime priority -- it causes audio stutter */ + ast_set_priority(0); + /* Execute script */ execv(script, argv); /* Can't use ast_log since FD's are closed */ Index: asterisk.c =================================================================== RCS file: /usr/cvsroot/asterisk/asterisk.c,v retrieving revision 1.172 diff -u -r1.172 asterisk.c --- asterisk.c 26 Jul 2005 16:29:55 -0000 1.172 +++ asterisk.c 10 Aug 2005 18:09:54 -0000 @@ -670,7 +670,7 @@ fprintf(stdout, "\033]1;%s\007", text); } -static int set_priority(int pri) +int ast_set_priority(int pri) { struct sched_param sched; memset(&sched, 0, sizeof(sched)); @@ -1936,7 +1936,7 @@ ast_verbose("[ Reading Master Configuration ]"); ast_readconfig(); - if (set_priority(option_highpriority)) { + if (ast_set_priority(option_highpriority)) { exit(1); } Index: include/asterisk.h =================================================================== RCS file: /usr/cvsroot/asterisk/include/asterisk.h,v retrieving revision 1.9 diff -u -r1.9 asterisk.h --- include/asterisk.h 25 Jul 2005 23:09:13 -0000 1.9 +++ include/asterisk.h 10 Aug 2005 18:09:54 -0000 @@ -37,6 +37,8 @@ extern char ast_config_AST_CTL_GROUP[AST_CONFIG_MAX_PATH]; extern char ast_config_AST_CTL[AST_CONFIG_MAX_PATH]; +/* Provided by asterisk.c */ +extern int ast_set_priority(int); /* Provided by module.c */ extern int load_modules(const int preload_only); /* Provided by pbx.c */