diff options
author | Uoti Urpala <uau@mplayer2.org> | 2011-07-17 05:48:48 +0300 |
---|---|---|
committer | Uoti Urpala <uau@mplayer2.org> | 2011-07-17 17:05:08 +0300 |
commit | c3e46833c22f1e9ca7de55105881131d00129707 (patch) | |
tree | 2449594b2e080c81efec8dcb6bbbc6ae57a01634 /mplayer.c | |
parent | 82b8f89baeafc2b2b39381f2ee14e4a2b2619b4c (diff) | |
download | mpv-c3e46833c22f1e9ca7de55105881131d00129707.tar.bz2 mpv-c3e46833c22f1e9ca7de55105881131d00129707.tar.xz |
input: don't make fd 0 nonblocking
Setting O_NONBLOCK on a file descriptor also affects all other fds
that share the same underlying open file description, and in case of
stdin such sharing is likely. Making stdin nonblocking can also make
stdout nonblocking (they may be the same connection to a terminal),
and it can also affect other processes (in "program1 | program2", the
shell may give the same terminal connection to program1 as stdin and
to program2 as stdout, thus program1 making its stdin nonblocking also
turns program2's stdout nonblocking).
To avoid these problems stop making fd 0 nonblocking. After the
previous commit this should no longer cause problems as long as
select() does not spuriously report the fd as readable.
Diffstat (limited to 'mplayer.c')
-rw-r--r-- | mplayer.c | 5 |
1 files changed, 0 insertions, 5 deletions
@@ -4080,11 +4080,6 @@ current_module = "init_input"; mpctx->input = mp_input_init(&opts->input); mpctx->key_fifo = mp_fifo_create(mpctx->input, opts); if(slave_mode) { -#if USE_FD0_CMD_SELECT - int flags = fcntl(0, F_GETFL); - if (flags != -1) - fcntl(0, F_SETFL, flags | O_NONBLOCK); -#endif mp_input_add_cmd_fd(mpctx->input, 0,USE_FD0_CMD_SELECT,MP_INPUT_SLAVE_CMD_FUNC,NULL); } else if (opts->consolecontrols) |