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
Although POSIX says the shell should perform "no action" on catching SIGINT, most existing shell implementations interrupt the currently running command line on SIGINT, allowing the user to quit from blocking built-ins such as wait and read. It would be desirable to implement this behavior in yash-rs, too.
The implementation boils down to the following steps:
Interrupt if a foreground job is terminated by SIGINT
Interrupt if the shell itself catches SIGINT
Questions:
The SharedSystem::read_async and SharedSystem::write_all functions enable the file descriptor's blocking mode temporarily. If the execution of these functions is terminated abruptly, the file descriptor may be left without being restored to the previous blocking mode configuration. How do we avoid this?
The text was updated successfully, but these errors were encountered:
Although POSIX says the shell should perform "no action" on catching SIGINT, most existing shell implementations interrupt the currently running command line on SIGINT, allowing the user to quit from blocking built-ins such as
wait
andread
. It would be desirable to implement this behavior in yash-rs, too.The implementation boils down to the following steps:
Questions:
SharedSystem::read_async
andSharedSystem::write_all
functions enable the file descriptor's blocking mode temporarily. If the execution of these functions is terminated abruptly, the file descriptor may be left without being restored to the previous blocking mode configuration. How do we avoid this?The text was updated successfully, but these errors were encountered: