[Bug 9931] New: stdin is not restored to blocking mode after a process exits

bugzilla at busybox.net bugzilla at busybox.net
Fri Jun 2 12:37:24 UTC 2017


https://bugs.busybox.net/show_bug.cgi?id=9931

            Bug ID: 9931
           Summary: stdin is not restored to blocking mode after a process
                    exits
           Product: Busybox
           Version: unspecified
          Hardware: All
                OS: Linux
            Status: NEW
          Severity: normal
          Priority: P5
         Component: Other
          Assignee: unassigned at busybox.net
          Reporter: robbertkl at renbeek.nl
                CC: busybox-cvs at busybox.net
  Target Milestone: ---

The fix for #9851 happened in vi, but the underlying issue affects any other
process as well. Most tools can't handle stdin being in non-blocking mode. If
you start a process that changes stdin to non-blocking (node js does this, for
example) it gets left in non-blocking mode after the process exits. Cat and
nano are examples of tools that cannot be started after this:

$ cat
cat: read error: Resource temporarily unavailable

Instead of the fix in vi (#9851), it should be fixed in the shell itself. After
the foreground process exits, it should reset stdin to block mode. I believe
this is what other shells do.

-- 
You are receiving this mail because:
You are on the CC list for the bug.


More information about the busybox-cvs mailing list