On 2020/09/22 20:21, Oliver Neukum wrote: > There is no need for flush() to be uninterruptible. close(2) > is allowed to return -EINTR. > > 30 seconds is quite long a time to sleep in an uninterruptible state. > Change it to an interruptible sleep. Doesn't this conflict with Making the wait for IO interruptible would not solve the issue. While it would avoid a hang, it would not allow any progress and we would end up with an unclosable fd. in [RFC 2/7] ? I suggested killable version, for giving up upon SIGKILL implies automatically closing fds by terminating that userspace process.