# dlmgmtd — Datalink management daemon # # Runs in `-d` (debug) mode, which on dlmgmtd means "single foreground # process, no double-fork daemonize." Three reasons we use it: # 1. Skips the SMF_FMRI startup gate (debug mode bypasses the check). # 2. Keeps stderr connected to our log; without it dlmgmtd's daemonize # runs fdwalk(closefunc), closing fd 2 — any startup error then # goes to syslog, which isn't running yet at this tier. # 3. zyginit's contract tracks a single PID instead of dealing with # the parent-exits-0-after-handshake daemonize pattern. # Cosmetic effect: the cache file is named "dlmgmtd.debug.cache" instead # of "network-datalink-management:default.cache". Nothing external reads # this file — only dlmgmtd itself, for fast restart state recovery. [service] name = "dlmgmtd" description = "Datalink management daemon (foreground)" type = "daemon" [exec] start = "/sbin/dlmgmtd -d" [dependencies] requires = ["filesystem"] [restart] on = "failure" delay = 5 max_retries = 3 [contract] param = ["inherit", "noorphan"] fatal = ["hwerr"]