Commit 79442ec
committed
Fix -stdin being blocked after a restart until Enter is pressed.
Closes #22.
os.Stdin.Read() blocks until a newline `\n` is provided (due to the OS doing
line-by-line buffering https://groups.google.com/g/golang-nuts/c/NvD-pOTASIk).
Therefore, do not tie the lifecycle of a command with os.Stdin.Read(). Instead,
read from os.Stdin continuously in a background goroutine and feed its data
into the stdinPipe of whichever exec.Cmd is currently running.1 parent 7b2aeb7 commit 79442ec
2 files changed
+57
-19
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
111 | 111 | | |
112 | 112 | | |
113 | 113 | | |
114 | | - | |
115 | | - | |
| 114 | + | |
116 | 115 | | |
117 | 116 | | |
118 | 117 | | |
| |||
425 | 424 | | |
426 | 425 | | |
427 | 426 | | |
| 427 | + | |
| 428 | + | |
| 429 | + | |
| 430 | + | |
| 431 | + | |
| 432 | + | |
| 433 | + | |
| 434 | + | |
| 435 | + | |
| 436 | + | |
| 437 | + | |
| 438 | + | |
| 439 | + | |
| 440 | + | |
| 441 | + | |
| 442 | + | |
| 443 | + | |
| 444 | + | |
| 445 | + | |
| 446 | + | |
| 447 | + | |
| 448 | + | |
| 449 | + | |
| 450 | + | |
| 451 | + | |
428 | 452 | | |
429 | 453 | | |
430 | 454 | | |
| |||
494 | 518 | | |
495 | 519 | | |
496 | 520 | | |
497 | | - | |
498 | | - | |
499 | | - | |
| 521 | + | |
500 | 522 | | |
501 | 523 | | |
502 | 524 | | |
503 | 525 | | |
504 | 526 | | |
505 | | - | |
506 | | - | |
507 | | - | |
| 527 | + | |
| 528 | + | |
| 529 | + | |
| 530 | + | |
508 | 531 | | |
509 | 532 | | |
510 | 533 | | |
511 | | - | |
512 | | - | |
513 | | - | |
514 | | - | |
515 | | - | |
516 | | - | |
517 | 534 | | |
518 | 535 | | |
519 | 536 | | |
| |||
525 | 542 | | |
526 | 543 | | |
527 | 544 | | |
528 | | - | |
| 545 | + | |
529 | 546 | | |
530 | | - | |
531 | 547 | | |
532 | 548 | | |
533 | 549 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
5 | 5 | | |
6 | 6 | | |
7 | 7 | | |
| 8 | + | |
8 | 9 | | |
9 | 10 | | |
10 | 11 | | |
| |||
862 | 863 | | |
863 | 864 | | |
864 | 865 | | |
865 | | - | |
| 866 | + | |
| 867 | + | |
| 868 | + | |
| 869 | + | |
| 870 | + | |
866 | 871 | | |
867 | 872 | | |
868 | 873 | | |
869 | | - | |
| 874 | + | |
| 875 | + | |
| 876 | + | |
| 877 | + | |
| 878 | + | |
| 879 | + | |
| 880 | + | |
| 881 | + | |
| 882 | + | |
| 883 | + | |
| 884 | + | |
| 885 | + | |
| 886 | + | |
| 887 | + | |
| 888 | + | |
| 889 | + | |
870 | 890 | | |
871 | 891 | | |
872 | 892 | | |
873 | 893 | | |
874 | | - | |
| 894 | + | |
| 895 | + | |
| 896 | + | |
875 | 897 | | |
876 | 898 | | |
877 | 899 | | |
| |||
0 commit comments