[Bug 1075104] [NEW] udhcpd is not terminated correctly in the init script, looses leases, needs SIGUSR1 before SIGTERM

Stephan Holtwisch Stephan.Holtwisch at t-online.de
Mon Nov 5 10:14:22 UTC 2012


Public bug reported:

udhcpd keeps track of leases in /var/lib/misc/udhcpd.leases .

Such a file is needed for a dhcpd server to keep track of what leases
have been given out in case of a restart of the process.

udhcpd does not write the file on SIGTERM, it writes the file on
receiving SIGUSR1.

udhcpd is usually stopped and restarted via the init script which
invokes start-stop-daemon. The default --stop signal is SIGTERM. This is
also the case with udhcpd, which means that on stops and restarts the
leases are not written. I modified the init script by adding a line with
SIGUSR1, which works for me, but maybe there is a more elegant solution.
Essentially udhcpd needs to receive SIGUSR1 before SIGTERM.


  stop)
        echo -n "Stopping $DESC: "
        start-stop-daemon --stop --verbose --pidfile /var/run/$NAME.pid \
                --oknodo --signal USR1 --exec $DAEMON
        start-stop-daemon --stop --verbose --pidfile /var/run/$NAME.pid \
                --oknodo --exec $DAEMON
        echo "$NAME."
        ;;

** Affects: busybox (Ubuntu)
     Importance: Undecided
         Status: New

-- 
You received this bug notification because you are a member of Ubuntu
Foundations Bugs, which is subscribed to busybox in Ubuntu.
https://bugs.launchpad.net/bugs/1075104

Title:
  udhcpd is not terminated correctly in the init script, looses leases,
  needs SIGUSR1 before SIGTERM

Status in “busybox” package in Ubuntu:
  New

Bug description:
  udhcpd keeps track of leases in /var/lib/misc/udhcpd.leases .

  Such a file is needed for a dhcpd server to keep track of what leases
  have been given out in case of a restart of the process.

  udhcpd does not write the file on SIGTERM, it writes the file on
  receiving SIGUSR1.

  udhcpd is usually stopped and restarted via the init script which
  invokes start-stop-daemon. The default --stop signal is SIGTERM. This
  is also the case with udhcpd, which means that on stops and restarts
  the leases are not written. I modified the init script by adding a
  line with SIGUSR1, which works for me, but maybe there is a more
  elegant solution. Essentially udhcpd needs to receive SIGUSR1 before
  SIGTERM.

  
    stop)
          echo -n "Stopping $DESC: "
          start-stop-daemon --stop --verbose --pidfile /var/run/$NAME.pid \
                  --oknodo --signal USR1 --exec $DAEMON
          start-stop-daemon --stop --verbose --pidfile /var/run/$NAME.pid \
                  --oknodo --exec $DAEMON
          echo "$NAME."
          ;;

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/busybox/+bug/1075104/+subscriptions




More information about the foundations-bugs mailing list