fix(v4): the identity gate's final review, items 1-4
From the fresh whole-branch review of the identity gate (With fixes; no Critical, four Important): 1. A drive pulled while a line ran: the drives are looked at before every prompt (sk_v4_identity_check_now), so no prompt is shown once she is gone and what was typed after the pull does not run as Zuse. 2. Pulled while a line WAITS: the wait is ended at logout, by an empty line, and not carried into her next session (Captain Bob, 2026-10-26: "end the waiting line at logout"); re-attaching brings the prompt back. 3. EMERGENCY_CONSOLE_ENABLED: v4 honours it as v3 does -- a bring-up build has a prompt with no drive (boards/BRINGUP.md A2). 4. Keys typed at a headless machine are read and dropped, not run as whoever logs in next. (v3 has the same gap, sk_repl_headless_wait; reported, not changed.) Each a QEMU session red then green (amd64): midpull 111650 -> 112953, waitpull 111907 -> 113154, emergency 112524 -> 113609, typeahead 112248 -> 113359; headless 113800 and hotplug 114043 still pass. Accepted: three clean qemu boots to [zuse@Hera] ok>, POST 538/538, dict_hash 0xfec8c47cfc6f437f on all three; hotplug on aarch64 and riscv64; make -C v4 test test-32 sanitize hosted-check EXIT 0; make -C v4 test-32 0 failures. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Opus 5.5
parent
668abc48e6
commit
6452c540a2
@@ -20,8 +20,13 @@ int sk_v4_identity_present(void);
|
||||
* with nothing typed. */
|
||||
void sk_v4_identity_beat(void);
|
||||
|
||||
/* Headless: no prompt, no input, until Zuse's session begins (v3's
|
||||
* sk_repl_headless_wait()). */
|
||||
/* The USB drives that have arrived or left, now, not waiting for the next
|
||||
* beat: before each prompt, so that a drive pulled while the last line ran
|
||||
* is seen before a prompt is shown. */
|
||||
void sk_v4_identity_check_now(void);
|
||||
|
||||
/* Headless: no prompt, and what is typed is read and dropped, until Zuse's
|
||||
* session begins (v3's sk_repl_headless_wait()). */
|
||||
void sk_v4_identity_wait(void);
|
||||
|
||||
#endif /* STARKERNEL_V4_SK_V4_IDENTITY_H */
|
||||
|
||||
Reference in New Issue
Block a user