win32: fix fd://

Windows definitely supports Unix-style fd inheritance. This mostly
worked when launched from mpv.exe, though mpv should change the file
mode to O_BINARY. When launched from mpv.com, the wrapper must pass the
list of handles (stored in the undocumented lpReserved2 and cbReserved2
fields) to the mpv process.
This commit is contained in:
James Ross-Gowan
2016-01-06 23:08:13 +11:00
parent 82e81421d7
commit c19f634e6c
3 changed files with 13 additions and 6 deletions

View File

@@ -262,9 +262,6 @@ static int open_f(stream_t *stream)
MP_INFO(stream, "Writing to stdout...\n");
p->fd = 1;
}
#ifdef __MINGW32__
setmode(p->fd, O_BINARY);
#endif
p->close = false;
} else {
mode_t openmode = S_IRUSR | S_IWUSR;
@@ -298,6 +295,10 @@ static int open_f(stream_t *stream)
p->close = true;
}
#ifdef __MINGW32__
setmode(p->fd, O_BINARY);
#endif
off_t len = lseek(p->fd, 0, SEEK_END);
lseek(p->fd, 0, SEEK_SET);
if (len != (off_t)-1) {