Page MenuHomeFreeBSD

daemon: tests: add a test for missed SIGTERM
ClosedPublic

Authored by kevans on Oct 8 2024, 5:23 AM.
Tags
None
Referenced Files
Unknown Object (File)
Fri, Sep 11, 6:03 AM
Unknown Object (File)
Thu, Sep 10, 3:25 AM
Unknown Object (File)
Wed, Sep 9, 10:33 AM
Unknown Object (File)
Fri, Sep 4, 2:37 PM
Unknown Object (File)
Fri, Sep 4, 9:16 AM
Unknown Object (File)
Wed, Sep 2, 2:23 PM
Unknown Object (File)
Wed, Sep 2, 1:36 PM
Unknown Object (File)
Wed, Sep 2, 8:27 AM
Subscribers

Details

Summary

This is somewhaht hard to test reliably, but we'll give it a shot. Startup
a sleep(1) daemon with a hefty restart delay. In refactoring of daemon(8),
we inadvertently started dropping SIGTERMs that came in while we were
waiting to restart the child, so we employ the strategy:

  • Pop the child sleep(1) first
  • Wait for sleep(1) to exit (pid file truncated)
  • Pop the daemon(8) with a SIGTERM
  • Wait for daemon(8) to exit

The pidfile is specifically truncated outside of the event loop so that we
don't have a kqueue to catch it in the current model.

PR: 277959

Diff Detail

Repository
rG FreeBSD src repository
Lint
Lint Not Applicable
Unit
Tests Not Applicable