You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Commit c8a8b32
Browse filesBrowse the repository at this point in the historyBrowse files
Stage 2b review round 4: take the terminal for cursor reports and recovery's last check
Validating a cursor-position reply and publishing the origin it establishes are
now one transaction. Split, they are two steps a managed write can land
between: the reply passes as current, the write moves the prompt, and the row
just recorded is no longer where the prompt is. Managed output reaches the
terminal under this same lock, so a reply validated there cannot be overtaken.
The request stamps itself with the generations after acquiring the terminal
rather than before. A write landing while the request queued made the reply to
a request issued after it look stale.
Recovery rechecks abandoned emission inside its transaction. Rendering can be
given up while recovery queues, and recovery would otherwise write cursor and
mode sequences into a terminal nothing may emit to any more.
Settling the renderer's own pending report stays inside the transaction:
completing an asyncio future schedules its callbacks on the loop, which is
neither a wait nor a dispatch of application code.
0 commit comments