Repository navigation
Commit aaccfcb
committed
Stage 3 review: a pause that timed out relinquished nothing, and now says so
Bounding the join stopped the hang but left the caller believing the display
had stopped. It had not: the thread was still inside the application, still
rendering and still reading input. Suspension went on to release the margins
and run the guest, so two programs shared one terminal; the borrowed layout and
key bindings went back to the main prompt underneath a thread still using them;
and the display object was dropped at the end of the command, taking the only
record of the problem with it.
A timed-out pause now raises. Nothing that follows a successful pause happens:
no handoff, no restoration, no typeahead transfer. The caller is the only one
who knows what it was about to do with the terminal, so the failure goes to it
rather than being reported and swallowed.
The refusal is recorded on the application rather than on the display object,
which the next command replaces. The thread outlives it, and one terminal
cannot have two input readers.
Startup keeps propagating the failure that brought it there rather than a
secondary cleanup failure -- the session is disabled either way, and "did not
start" is the useful half. A stop that fails during ordinary teardown still
propagates, as it did before.
Guarding _resume() against a live thread became unreachable once _pause()
refuses instead of returning, so it is gone rather than left as a branch no
test can reach.1 parent 5fac73e commit aaccfcb
2 files changed
Lines changed: 94 additions & 30 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
92 | 92 | | |
93 | 93 | | |
94 | 94 | | |
95 | | - | |
| 95 | + | |
96 | 96 | | |
97 | | - | |
98 | | - | |
| 97 | + | |
| 98 | + | |
99 | 99 | | |
100 | 100 | | |
101 | 101 | | |
| |||
304 | 304 | | |
305 | 305 | | |
306 | 306 | | |
307 | | - | |
| 307 | + | |
| 308 | + | |
| 309 | + | |
| 310 | + | |
| 311 | + | |
308 | 312 | | |
309 | 313 | | |
310 | 314 | | |
| |||
313 | 317 | | |
314 | 318 | | |
315 | 319 | | |
316 | | - | |
317 | | - | |
318 | | - | |
319 | | - | |
320 | 320 | | |
321 | 321 | | |
322 | 322 | | |
| |||
449 | 449 | | |
450 | 450 | | |
451 | 451 | | |
| 452 | + | |
| 453 | + | |
452 | 454 | | |
453 | 455 | | |
454 | | - | |
455 | | - | |
456 | | - | |
457 | | - | |
458 | | - | |
| 456 | + | |
459 | 457 | | |
460 | 458 | | |
461 | 459 | | |
| |||
471 | 469 | | |
472 | 470 | | |
473 | 471 | | |
| 472 | + | |
| 473 | + | |
| 474 | + | |
| 475 | + | |
| 476 | + | |
| 477 | + | |
| 478 | + | |
| 479 | + | |
| 480 | + | |
| 481 | + | |
| 482 | + | |
| 483 | + | |
| 484 | + | |
| 485 | + | |
| 486 | + | |
| 487 | + | |
| 488 | + | |
| 489 | + | |
| 490 | + | |
| 491 | + | |
| 492 | + | |
| 493 | + | |
| 494 | + | |
474 | 495 | | |
475 | 496 | | |
476 | 497 | | |
| |||
601 | 622 | | |
602 | 623 | | |
603 | 624 | | |
604 | | - | |
605 | | - | |
606 | | - | |
607 | | - | |
608 | | - | |
609 | | - | |
610 | | - | |
| 625 | + | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1 | 1 | | |
2 | 2 | | |
| 3 | + | |
3 | 4 | | |
4 | 5 | | |
5 | 6 | | |
| |||
861 | 862 | | |
862 | 863 | | |
863 | 864 | | |
864 | | - | |
865 | | - | |
| 865 | + | |
| 866 | + | |
| 867 | + | |
| 868 | + | |
| 869 | + | |
| 870 | + | |
| 871 | + | |
| 872 | + | |
866 | 873 | | |
867 | 874 | | |
868 | 875 | | |
| 876 | + | |
869 | 877 | | |
870 | 878 | | |
871 | | - | |
| 879 | + | |
| 880 | + | |
| 881 | + | |
872 | 882 | | |
873 | 883 | | |
874 | | - | |
| 884 | + | |
875 | 885 | | |
876 | | - | |
877 | | - | |
878 | | - | |
| 886 | + | |
| 887 | + | |
879 | 888 | | |
880 | | - | |
| 889 | + | |
| 890 | + | |
| 891 | + | |
| 892 | + | |
| 893 | + | |
| 894 | + | |
| 895 | + | |
| 896 | + | |
| 897 | + | |
| 898 | + | |
| 899 | + | |
| 900 | + | |
| 901 | + | |
| 902 | + | |
| 903 | + | |
| 904 | + | |
| 905 | + | |
| 906 | + | |
| 907 | + | |
| 908 | + | |
| 909 | + | |
| 910 | + | |
| 911 | + | |
| 912 | + | |
| 913 | + | |
| 914 | + | |
| 915 | + | |
| 916 | + | |
| 917 | + | |
| 918 | + | |
| 919 | + | |
| 920 | + | |
| 921 | + | |
| 922 | + | |
| 923 | + | |
| 924 | + | |
| 925 | + | |
| 926 | + | |
| 927 | + | |
| 928 | + | |
| 929 | + | |
| 930 | + | |
881 | 931 | | |
882 | 932 | | |
883 | | - | |
884 | | - | |
| 933 | + | |
885 | 934 | | |
886 | 935 | | |
0 commit comments