Subject: Re: bug#599: initscripts: typo in /etc/init.d/sendsigs (easy fix)

From: Mark Hindley <[email-masked]>
Date: Sat, 7 Aug 2021 19:23:56 +0100

Control: tags -1 moreinfo

Jerome,

Thanks for this.

On Sat, Aug 07, 2021 at 05:23:17PM +0000, Jerome BENOIT wrote:
> Package: initscripts
> Version: 2.93-8+devuan1
> Severity: normal
> 
> Dear Maintainer,
> 
> 	In the /etc/init.d/sendsigs script, at the beginning of function
> 	do_stop(), in the for-loop, the in-argument seems to be mispelled:
> 	the terminal '.d' is missing.

Hmmm, I am not so sure about this.
 
> do_stop () {
> 	OMITPIDS=
> 
> 	for omitfile in /run/sendsigs.omit; do

I think this is where you think the typo is ^^^^?

Isn't this legacy handling for /run/sendsigs.omit? Admittedly that file is not
present on my beowulf system..

> 		if [ -e $omitfile ]; then

.. so this is skipped.

> 			for pid in $(cat $omitfile); do
> 				OMITPIDS="${OMITPIDS:+$OMITPIDS }-o $pid"
> 			done
> 		fi
> 	done
> 
> 	# Load sendsigs.omit.d/packagename files too, to make it
> 	# possible for scripts that need to modify the list of pids at
> 	# run time without race conditions.
> 	for omitdir in /run/sendsigs.omit.d; do

Files in /run/sendsigs.omit.d/ are handled here.

> 		if [ -d "${omitdir}" ]; then
> 			for pidfile in "${omitdir}/"*; do
> 				[ -f "$pidfile" ] || continue
> 				for pid in $(cat $pidfile); do
> 					OMITPIDS="${OMITPIDS:+$OMITPIDS }-o $pid"
> 				done
> 			done
> 		fi
> 	done

Or have I misunderstood you?

Thanks

Mark