Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
View | Details | Raw Unified | Return to bug 309277 | Differences between
and this patch

Collapse All | Expand All

(-)/etc/init.d/asterisk (-14 / +16 lines)
Lines 11-21 Link Here
11
}
11
}
12
12
13
is_running() {
13
is_running() {
14
	if [ -z "$(pidof asterisk)" ]; then
14
	if [ -z "`pidof asterisk`" ]; then
15
		return 1
15
		return 1
16
	else
16
	else
17
		PID="$(cat /var/run/asterisk/asterisk.pid)"
17
		PID="`cat /var/run/asterisk/asterisk.pid`"
18
		for x in $(pidof asterisk); do
18
		for x in `pidof asterisk`; do
19
			if [ "${x}" = "${PID}" ]; then
19
			if [ "${x}" = "${PID}" ]; then
20
				return 0
20
				return 0
21
			fi	
21
			fi	
Lines 26-31 Link Here
26
}
26
}
27
27
28
asterisk_run_loop() {
28
asterisk_run_loop() {
29
	logger -t asterisk_wrapper "Initializing asterisk wrapper"
30
29
	local OPTS ARGS MSG NICE=""
31
	local OPTS ARGS MSG NICE=""
30
	local result=0 signal=0
32
	local result=0 signal=0
31
33
Lines 33-42 Link Here
33
	OPTS="-f"  # don't fork / detach breaks wrapper script...
35
	OPTS="-f"  # don't fork / detach breaks wrapper script...
34
36
35
	# filter (redundant) arguments
37
	# filter (redundant) arguments
36
	ARGS="$(echo "${@}" | sed -e "s:-c\|-f::g")"
38
	ARGS="`echo "${@}" | sed -e "s:-c\|-f::g"`"
37
39
38
	# mangle yes/no options
40
	# mangle yes/no options
39
	ASTERISK_CONSOLE="$(echo ${ASTERISK_CONSOLE} | tr '[:lower:]' '[:upper:]')"
41
	ASTERISK_CONSOLE="`echo ${ASTERISK_CONSOLE} | tr '[:lower:]' '[:upper:]'`"
40
42
41
	if [ -n "${ASTERISK_CORE_SIZE}" ] &&
43
	if [ -n "${ASTERISK_CORE_SIZE}" ] &&
42
	   [ "${ASTERISK_CORE_SIZE}" != "0" ]; then
44
	   [ "${ASTERISK_CORE_SIZE}" != "0" ]; then
Lines 115-124 Link Here
115
			break
117
			break
116
		else
118
		else
117
			if [ $result -gt 128 ]; then
119
			if [ $result -gt 128 ]; then
118
				signal=$((result -  128))
120
				signal=`expr $signal - 128`
119
				MSG="Asterisk terminated with Signal: $signal"
121
				MSG="Asterisk terminated with Signal: $signal"
120
122
121
				CORE_TARGET="core-$(date "+%Y%m%d-%h%M%s")"
123
				CORE_TARGET="core-`date +%Y%m%d-%k%M%S`"
122
124
123
				local CORE_DUMPED=0
125
				local CORE_DUMPED=0
124
				if [ -f "${ASTERISK_CORE_DIR}/core" ]; then
126
				if [ -f "${ASTERISK_CORE_DIR}/core" ]; then
Lines 141-147 Link Here
141
143
142
			# kill left-over tasks
144
			# kill left-over tasks
143
			for X in ${ASTERISK_CLEANUP_ON_CRASH}; do
145
			for X in ${ASTERISK_CLEANUP_ON_CRASH}; do
144
				kill -9 $(pidof ${X});
146
				kill -9 `pidof ${X}`;
145
			done
147
			done
146
		fi
148
		fi
147
149
Lines 176-183 Link Here
176
	fi
178
	fi
177
179
178
	if [ -n "${ASTERISK_USER}" ]; then
180
	if [ -n "${ASTERISK_USER}" ]; then
179
		USER=$(echo $ASTERISK_USER | sed 's/:.*//')
181
		USER=`echo $ASTERISK_USER | sed 's/:.*//'`
180
		GROUP=$(echo $ASTERISK_USER | awk -F: '/.*:.*/ { print $2 }')
182
		GROUP=`echo $ASTERISK_USER | awk -F: '/.*:.*/ { print $2 }'`
181
		if [ -n "${USER}" ]; then
183
		if [ -n "${USER}" ]; then
182
			ASTERISK_OPTS="${ASTERISK_OPTS} -U ${USER}"
184
			ASTERISK_OPTS="${ASTERISK_OPTS} -U ${USER}"
183
		fi
185
		fi
Lines 185-192 Link Here
185
			ASTERISK_OPTS="${ASTERISK_OPTS} -G ${GROUP}"
187
			ASTERISK_OPTS="${ASTERISK_OPTS} -G ${GROUP}"
186
			GROUP=":${GROUP}"	# make it look nice...
188
			GROUP=":${GROUP}"	# make it look nice...
187
		fi
189
		fi
188
		for element in $(find /var/{log,run}/asterisk); do
190
		for element in `find /var/{log,run}/asterisk`; do
189
			if [ $(stat -c %U $element) != ${USER} ]; then
191
			if [ `stat -c %U $element` != "${USER}" ]; then
190
 				ewarn "${USER} is not the owner of $element, fixing."
192
 				ewarn "${USER} is not the owner of $element, fixing."
191
				chown -R ${USER} /var/{log,run}/asterisk
193
				chown -R ${USER} /var/{log,run}/asterisk
192
				chmod -R u+r /var/{log,run}/asterisk
194
				chmod -R u+r /var/{log,run}/asterisk
Lines 198-204 Link Here
198
		ebegin "Starting asterisk PBX (as root)"
200
		ebegin "Starting asterisk PBX (as root)"
199
	fi
201
	fi
200
202
201
	if [ "$(echo ${ASTERISK_WRAPPER} | tr '[:upper:]' '[:lower:]')" != "yes" ]; then
203
	if [ "`echo ${ASTERISK_WRAPPER} | tr '[:upper:]' '[:lower:]'`" != "yes" ]; then
202
		start-stop-daemon --start --exec /usr/sbin/asterisk \
204
		start-stop-daemon --start --exec /usr/sbin/asterisk \
203
			${OPTS} -- ${ASTERISK_OPTS}
205
			${OPTS} -- ${ASTERISK_OPTS}
204
		result=$?
206
		result=$?
Lines 231-237 Link Here
231
233
232
	if [ -r /var/run/asterisk/wrapper_loop.pid ]; then
234
	if [ -r /var/run/asterisk/wrapper_loop.pid ]; then
233
		ebegin "Killing wrapper script"
235
		ebegin "Killing wrapper script"
234
		kill $(</var/run/asterisk/wrapper_loop.pid)
236
		kill `</var/run/asterisk/wrapper_loop.pid`
235
		eend $?
237
		eend $?
236
	fi
238
	fi
237
239

Return to bug 309277