Denis Vlasenko <[EMAIL PROTECTED]> writes: > Hi, > > I am currently on Linux 2.6.18, x86_64. > I came across strange behavior while working on one > of busybox applets. I narrowed it down to these two > trivial testcases: > > #include <unistd.h> > #include <fcntl.h> > int main() { > fcntl(0, F_SETFL, fcntl(0, F_GETFL, 0) | O_NONBLOCK); > return 0; > } > > #include <unistd.h> > #include <fcntl.h> > int main() { > fcntl(0, F_SETFL, fcntl(0, F_GETFL, 0) & ~O_NONBLOCK); > return 0; > } > > If I run "nonblock" in Midnight Commander in KDE's Konsole, > screen redraw starts to work ~5 times slower. For example, > Ctrl-O ("show/hide panels" in MC) takes ~0.5 sec to redraw. > This persists after the program exist (which it > does immediately as you see). > Running "block" reverts things to normal. > > I mean: how can O_NONBLOCK _issued in a process which > already exited_ have any effect whatsoever on MC or Konsole? > They can't even know that it did it, right? > > Either I do not know something subtle about Unix or some sort > of bug is at work.
Because they all share the same stdin file descriptor, therefore they share the same file descriptor flags? Phil. - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/