Package: sysvinit-utils
Version: 2.88dsf-59.3
Severity: normal

I am troubleshooting a problem with the courier package suite (courier-imap as 
example).

I found that in /lib/init/init-d-script, the do_status() function calls 
status_of_proc() without the -p argument, leaving the PIDFILE to be assumed by 
pidofproc. This, despite the case that init-d-script makes it's own assumption 
and declaration about what the daemon PIDFILE should be.

In any case where the PIDFILE declared in the init script is different from 
what pidofproc assumes it to be, failure occurs because the assumed PIDFILE 
does not exist.

I would suggest altering the do_status() func from:
        status_of_proc "$DAEMON" "$NAME" && return 0 || return $?

To:
        status_of_proc "$DAEMON" "$NAME" -p "$PIDFILE" && return 0 || return $?

While I'm at it, I don't understand the functionality of "&& return 0 || return 
$?". This could be removed and there would be no change in behavior. Is this an 
artifact of history?

In that case:
        status_of_proc "$DAEMON" "$NAME" -p "$PIDFILE"



My one concern is regarding the possibility of PIDFILE=none being set in the 
init script. If it's necessary (I can't think of a reason why) to maintain the 
current behavior of not feeding the -p argument to status_of_proc, we could do:

        status_of_proc "$DAEMON" "$NAME" ${PIDFILE:="-p $PIDFILE"} && return 0 
|| return $?

However, if there is no PIDFILE set, a more rational thing to do would seem to 
be to never run status_of_proc in the first place since you can't get status on 
something that isn't running (or didn't leave a PID file behind).




-- System Information:
Debian Release: stretch/sid
  APT prefers unstable
  APT policy: (500, 'unstable'), (500, 'testing'), (500, 'stable')
Architecture: amd64 (x86_64)

Kernel: Linux 4.3.0-1-amd64 (SMP w/2 CPU cores)
Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash
Init: sysvinit (via /sbin/init)

Versions of packages sysvinit-utils depends on:
ii  init-system-helpers  1.29
ii  libc6                2.22-7
ii  startpar             0.59-3

sysvinit-utils recommends no packages.

Versions of packages sysvinit-utils suggests:
pn  bootlogd  <none>
pn  sash      <none>

-- no debconf information

_______________________________________________
Pkg-sysvinit-devel mailing list
[email protected]
http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/pkg-sysvinit-devel

Reply via email to