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
This request is specifically for usage in the shell I am writing that uses kotter.
My shell does not create a new tty for each new process. It actually shares its own stdin, stdout, stderr fds. I think all modern *nix shells create a new tty. I have read the source of a unix shell that just forked and exec'd, so this isn't a new way doing things...
Anyways, why is this a problem and why do I need a change in kotter?
When kross launches a child process and stops using its own in/out it has to deterministically stop reading. Else the shell will steal input bytes from the child process. The current api in kotter is a sharedflow that has a tight loop around calling read, so it will also call read again after the point I need it to stop
Describe alternatives you've considered
I also tried adding a way to inject a stop signal into the sharedflow, but the only thing I got to work is direct access to JLine's read call.
FYI without power over here (in Southern California but in a totally safe place, they're just being cautious). Will review after getting power back, no idea when that will be. Thanks for the PR and explanation!
This request is specifically for usage in the shell I am writing that uses kotter.
My shell does not create a new tty for each new process. It actually shares its own stdin, stdout, stderr fds. I think all modern *nix shells create a new tty. I have read the source of a unix shell that just forked and exec'd, so this isn't a new way doing things...
Anyways, why is this a problem and why do I need a change in kotter?
When kross launches a child process and stops using its own in/out it has to deterministically stop reading. Else the shell will steal input bytes from the child process. The current api in kotter is a sharedflow that has a tight loop around calling read, so it will also call read again after the point I need it to stop
Describe alternatives you've considered
I also tried adding a way to inject a stop signal into the sharedflow, but the only thing I got to work is direct access to JLine's read call.
PR #125
The text was updated successfully, but these errors were encountered: