As of at least mailman-2.1.5-26 in rawhide, it's init script doesn't create/use/delete anything in /var/lock/subsys. Bad. Why? On my box, I jump between runlevel 3 and 5 occasionally. Without the subsys lock, init doesn't know mailman is already running, so a new instance gets launched everytime the runlevel is changed. I'll attach a patch implementing use of /var/lock/subsys/mailman (which also helps to simplify the condrestart case)
Created attachment 108353 [details] use /var/lock/subsys/mailman
Created attachment 108356 [details] use /var/lock/subsys/mailman updated version that actually works. Previous patch broke condrestart and had a missing 'fi' leading to syntax error
Mailman has its own locking scheme. How this approach successfully deal with abnormal termination? Isn't the real bug restarting mailman when changing run levels? If the bug is that the existing locking scheme is failing lets fix that rather than introduce two incompatible schemes that don't play together.
Yes, the real bug is mailman restarting when changing run levels. I don't care how/where /var/subsys/lock/mailman gets created (in /etc/rc.d/init.d/mailman or in mailmanctl), just as long as it does.
Why is it critical that /var/subsys/lock/mailman be created by any agent? Isn't the requirement that duplicate copies of mailman are not created when changing run levels?
I thought it was /var/subsys/lock/$prog that init uses to determine if a service is running or not.
I just went off and had a hallway conversation and you are indeed correct /var/subsys/lock/<prog> is used by init. I mistakenly thought init called the init script. This is what I think I'll do: 1) Add the /var/subsys/lock file, but it will only be there for init's use. 2) Retain the existing mailman process control which does not depend on lock files. The results of querying mailmanctl on its status will determine if the lock file should be created or removed. How does that sound?
fabulous.
An advisory has been issued which should help the problem described in this bug report. This report is therefore being closed with a resolution of ERRATA. For more information on the solution and/or where to find the updated files, please follow the link below. You may reopen this bug report if the solution does not work for you. http://rhn.redhat.com/errata/RHSA-2005-235.html