init(ptyd): 00_ptyd.service must be scheme=pty, not notify
ptyd was migrated to the SchemeDaemon/ready_with_fd path: it registers the
"pty" scheme and signals readiness by sending its scheme cap fd back to
init, which init receives via call_ro(FD) in its scheme-service startup.
The service was still declared type="notify", so init waited for a plain
readiness byte ptyd never sends and blocked forever at ptyd — before the
console/login stack could start (post-switchroot boot hang). Declare the
correct type={scheme="pty"} so init uses the matching fd-receive path.
This commit is contained in:
@@ -3,4 +3,9 @@ description = "PTY daemon"
|
||||
|
||||
[service]
|
||||
cmd = "ptyd"
|
||||
type = "notify"
|
||||
# ptyd registers the "pty" scheme and signals readiness by sending its scheme
|
||||
# cap fd back to init (redox_scheme ready_sync_scheme / ready_with_fd), so init
|
||||
# must receive that fd via call_ro(FD) — i.e. type must be {scheme="pty"}, NOT
|
||||
# "notify". With "notify" init waits for a readiness byte ptyd never sends and
|
||||
# blocks forever at ptyd, before the console/login stack. See ptyd/src/main.rs.
|
||||
type = { scheme = "pty" }
|
||||
|
||||
Reference in New Issue
Block a user