[asterisk-commits] pabelanger: branch 1.4 r269334 - in /branches/1.4: contrib/init.d/ main/

SVN commits to the Asterisk project asterisk-commits at lists.digium.com
Wed Jun 9 12:25:01 CDT 2010


Author: pabelanger
Date: Wed Jun  9 12:24:53 2010
New Revision: 269334

URL: http://svnview.digium.com/svn/asterisk?view=rev&rev=269334
Log:
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

Modified:
    branches/1.4/contrib/init.d/rc.debian.asterisk
    branches/1.4/main/term.c

Modified: branches/1.4/contrib/init.d/rc.debian.asterisk
URL: http://svnview.digium.com/svn/asterisk/branches/1.4/contrib/init.d/rc.debian.asterisk?view=diff&rev=269334&r1=269333&r2=269334
==============================================================================
--- branches/1.4/contrib/init.d/rc.debian.asterisk (original)
+++ branches/1.4/contrib/init.d/rc.debian.asterisk Wed Jun  9 12:24:53 2010
@@ -51,7 +51,7 @@
         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 @@
 	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
+	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):
-	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
-	fi
+	start-stop-daemon --start --oknodo --exec $DAEMON -- $ASTARGS
 	log_end_msg $?
 	;;
   stop)

Modified: branches/1.4/main/term.c
URL: http://svnview.digium.com/svn/asterisk/branches/1.4/main/term.c?view=diff&rev=269334&r1=269333&r2=269334
==============================================================================
--- branches/1.4/main/term.c (original)
+++ branches/1.4/main/term.c Wed Jun  9 12:24:53 2010
@@ -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 at digium.com>
  *
@@ -18,9 +18,9 @@
 
 /*! \file
  *
- * \brief Terminal Routines 
- *
- * \author Mark Spencer <markster at digium.com> 
+ * \brief Terminal Routines
+ *
+ * \author Mark Spencer <markster at digium.com>
  */
 
 #include "asterisk.h"
@@ -79,12 +79,21 @@
 	char buffer[512] = "";
 	int termfd = -1, parseokay = 0, i;
 
-	if (!term)
+	if (ast_opt_no_color) {
 		return 0;
-	if (!ast_opt_console || ast_opt_no_color || !ast_opt_no_fork)
+	}
+
+	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++) {
+	}
+
+	for (i = 0;; i++) {
 		if (termpath[i] == NULL) {
 			break;
 		}
@@ -138,6 +147,7 @@
 		}
 	}
 
+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);




More information about the asterisk-commits mailing list