init: convert all blocking services to oneshot_async, add force-run deadlock breaker
Change ALL non-critical init.d and init.initfs.d services from scheme/notify/oneshot to oneshot_async to prevent scheduler hangs. Add force-run after 3 defers to break dependency cycles. Add STEP_DONE serial marker to confirm scheduler completion. Changed services (init.d): ipcd, ptyd, pcid-spawner, smolnetd, audiod Changed services (init.initfs.d): inputd, lived, fbbootlogd, fbcond, vesad, hwd, ps2d, bcm2835-sdhcid Changed config overrides: ucsid, driver-params, gpiod, i2cd The scheduler now processes 65 units across all phases. Force-run ensures deadlocked units are processed after 3 deferrals rather than looping forever.
This commit is contained in:
@@ -3,4 +3,4 @@ description = "IPC daemon"
|
||||
|
||||
[service]
|
||||
cmd = "ipcd"
|
||||
type = "notify"
|
||||
type = "oneshot_async"
|
||||
|
||||
@@ -3,4 +3,4 @@ description = "PCI driver spawner"
|
||||
|
||||
[service]
|
||||
cmd = "pcid-spawner"
|
||||
type = "oneshot"
|
||||
type = "oneshot_async"
|
||||
|
||||
@@ -3,4 +3,4 @@ description = "PTY daemon"
|
||||
|
||||
[service]
|
||||
cmd = "ptyd"
|
||||
type = "notify"
|
||||
type = "oneshot_async"
|
||||
|
||||
@@ -8,4 +8,4 @@ requires_weak = [
|
||||
|
||||
[service]
|
||||
cmd = "netstack"
|
||||
type = "notify"
|
||||
type = "oneshot_async"
|
||||
|
||||
@@ -6,4 +6,4 @@ requires_weak = [
|
||||
|
||||
[service]
|
||||
cmd = "audiod"
|
||||
type = { scheme = "audio" }
|
||||
type = "oneshot_async"
|
||||
|
||||
Reference in New Issue
Block a user