mirror of
https://github.com/asterisk/asterisk.git
synced 2026-07-18 17:35:04 -07:00
Fix Debian init script to not use -c.
When using the init script as-is currently, it could cause issues on Debian such as high CPU usage. This fix has worked for several people so I'm implementing the change. We now handle color displays properly. (closes issue #16784) Reported by: pabelanger Patches: 20100530__issue16784__2.diff.txt uploaded by tilghman (license 14) Tested by: pabelanger, tilghman git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@269334 65c4cc65-6c06-0410-ace0-fbb531ad65f3
This commit is contained in:
@@ -51,7 +51,7 @@ if ! [ -d /etc/asterisk ] ; then
|
||||
exit 0
|
||||
fi
|
||||
|
||||
# Use the LSB standar functions for services management
|
||||
# Use the LSB standard functions for services management
|
||||
. /lib/lsb/init-functions
|
||||
|
||||
case "$1" in
|
||||
@@ -65,19 +65,17 @@ case "$1" in
|
||||
fi
|
||||
|
||||
log_begin_msg "Starting $DESC: $NAME"
|
||||
if [ $AST_USER ] ; then
|
||||
ASTARGS="-U $AST_USER"
|
||||
fi
|
||||
if [ $AST_GROUP ] ; then
|
||||
ASTARGS="$ASTARGS -G $AST_GROUP"
|
||||
fi
|
||||
# "start-stop-daemon --oknodo" returns 0 even if Asterisk was already running (as LSB expects):
|
||||
if test "x$COLOR" = "xyes" ; then
|
||||
export TERM=linux
|
||||
start-stop-daemon --start --oknodo --background --exec $DAEMON -- $ASTARGS -c
|
||||
else
|
||||
start-stop-daemon --start --oknodo --exec $DAEMON -- $ASTARGS
|
||||
if [ $AST_USER ] ; then
|
||||
ASTARGS="-U $AST_USER"
|
||||
fi
|
||||
if [ $AST_GROUP ] ; then
|
||||
ASTARGS="$ASTARGS -G $AST_GROUP"
|
||||
fi
|
||||
if test "x$COLOR" = "xno" ; then
|
||||
ASTARGS="$ASTARGS -n"
|
||||
fi
|
||||
# "start-stop-daemon --oknodo" returns 0 even if Asterisk was already running (as LSB expects):
|
||||
start-stop-daemon --start --oknodo --exec $DAEMON -- $ASTARGS
|
||||
log_end_msg $?
|
||||
;;
|
||||
stop)
|
||||
|
||||
+17
-7
@@ -1,7 +1,7 @@
|
||||
/*
|
||||
* Asterisk -- An open source telephony toolkit.
|
||||
*
|
||||
* Copyright (C) 1999 - 2005, Digium, Inc.
|
||||
* Copyright (C) 1999 - 2010, Digium, Inc.
|
||||
*
|
||||
* Mark Spencer <markster@digium.com>
|
||||
*
|
||||
@@ -18,9 +18,9 @@
|
||||
|
||||
/*! \file
|
||||
*
|
||||
* \brief Terminal Routines
|
||||
* \brief Terminal Routines
|
||||
*
|
||||
* \author Mark Spencer <markster@digium.com>
|
||||
* \author Mark Spencer <markster@digium.com>
|
||||
*/
|
||||
|
||||
#include "asterisk.h"
|
||||
@@ -79,12 +79,21 @@ int ast_term_init(void)
|
||||
char buffer[512] = "";
|
||||
int termfd = -1, parseokay = 0, i;
|
||||
|
||||
if (!term)
|
||||
return 0;
|
||||
if (!ast_opt_console || ast_opt_no_color || !ast_opt_no_fork)
|
||||
if (ast_opt_no_color) {
|
||||
return 0;
|
||||
}
|
||||
|
||||
for (i=0 ;; i++) {
|
||||
if (!ast_opt_console) {
|
||||
/* If any remote console is not compatible, we'll strip the color codes at that point */
|
||||
vt100compat = 1;
|
||||
goto end;
|
||||
}
|
||||
|
||||
if (!term) {
|
||||
return 0;
|
||||
}
|
||||
|
||||
for (i = 0;; i++) {
|
||||
if (termpath[i] == NULL) {
|
||||
break;
|
||||
}
|
||||
@@ -138,6 +147,7 @@ int ast_term_init(void)
|
||||
}
|
||||
}
|
||||
|
||||
end:
|
||||
if (vt100compat) {
|
||||
/* Make commands show up in nice colors */
|
||||
snprintf(prepdata, sizeof(prepdata), "%c[%d;%d;%dm", ESC, ATTR_BRIGHT, COLOR_BROWN, COLOR_BLACK + 10);
|
||||
|
||||
Reference in New Issue
Block a user