summaryrefslogtreecommitdiffstats
path: root/waftools
diff options
context:
space:
mode:
authorJames Ross-Gowan <rossymiles@gmail.com>2014-11-21 17:51:28 +1100
committerJames Ross-Gowan <rossymiles@gmail.com>2014-11-22 18:15:10 +1100
commitd2848daebbe3fdb15af5813ab662bd5add8c29b9 (patch)
tree9c9fb6496c7d21e4353e31036d210c886dc1ddd1 /waftools
parent6a1746b4e387dde10c9409099c1000443f40b4cd (diff)
downloadmpv-d2848daebbe3fdb15af5813ab662bd5add8c29b9.tar.bz2
mpv-d2848daebbe3fdb15af5813ab662bd5add8c29b9.tar.xz
lua: subprocess: fix handle inheritance race condition
Normally, when creating a process with inherited handles on Windows, the process inherits all inheritable handles from the parent, including ones that were created on other threads. This can cause a race condition, where unintended handles are copied into the new process, preventing them from being closed correctly while the process is running. The only way to prevent this on Windows XP was to serialise the creation of all inheritable handles, which is clearly unacceptable for libmpv. Windows Vista solves this problem by allowing programs to specify exactly which handles are inherited, so do that on Vista and up. See http://blogs.msdn.com/b/oldnewthing/archive/2011/12/16/10248328.aspx
Diffstat (limited to 'waftools')
0 files changed, 0 insertions, 0 deletions