diff options
author | James Ross-Gowan <rossymiles@gmail.com> | 2015-12-07 18:51:33 +1100 |
---|---|---|
committer | James Ross-Gowan <rossymiles@gmail.com> | 2015-12-20 21:06:02 +1100 |
commit | 7558d1ed7b86dbd23504f743d27973556ed68dff (patch) | |
tree | 85021c91c3dc91d690636aa3230154b3300cf27d /DOCS | |
parent | 0563eb914f2d4243c00bbd31175658e595dd3763 (diff) |
win32: input: use Vista CancelIoEx
libwaio was added due to the complete inability to cancel synchronous
I/O cleanly using the public Windows API in Windows XP. Even calling
TerminateThread on the thread performing I/O was a bad solution, because
the TerminateThread function in XP would leak the thread's stack.
In Vista and up, however, this is no longer a problem. CancelIoEx can
cancel synchronous I/O running on other threads, allowing the thread to
exit cleanly, so replace libwaio usage with native Vista API functions.
It should be noted that this change also removes the hack added in
8a27025 for preventing a deadlock that only seemed to happen in Windows
XP. KB2009703 says that Vista and up are not affected by this, due to a
change in the implementation of GetFileType, so the hack should not be
needed anymore.
Diffstat (limited to 'DOCS')
-rw-r--r-- | DOCS/compile-windows.md | 22 |
1 files changed, 0 insertions, 22 deletions
diff --git a/DOCS/compile-windows.md b/DOCS/compile-windows.md index 9acd6e269e..a0e27baf4b 100644 --- a/DOCS/compile-windows.md +++ b/DOCS/compile-windows.md @@ -188,25 +188,3 @@ a pthreads wrapper or you want to build mpv without one, configure with: ```bash ./waf configure --enable-win32-internal-pthreads ``` - -libwaio -------- - -If you want to use ``--input-file``, you need libwaio. It's available from -git://midipix.org/waio - -To compile libwaio in MSYS2, run: - -```bash -git clone git://midipix.org/waio && cd waio - -# 32-bit build, run from mingw32_shell.bat -./build-mingw-nt32 lib-static CC=gcc AR=ar -cp -r include/waio /mingw32/include -cp lib32/libwaio.a /mingw32/lib - -# 64-bit build, run from mingw64_shell.bat -./build-mingw-nt64 lib-static CC=gcc AR=ar -cp -r include/waio /mingw64/include -cp lib64/libwaio.a /mingw64/lib -``` |