Andrew Schwartzmeyer created MESOS-8926:
-------------------------------------------
Summary: Fix potential race condition in handle inheritance
Key: MESOS-8926
URL: https://issues.apache.org/jira/browse/MESOS-8926
Project: Mesos
Issue Type: Bug
Reporter: Andrew Schwartzmeyer
Assignee: Radhika Jandhyala
In our {{CreateProcess}} wrapper {{create_process}} in {{shell.hpp}} we make
handles that are supposed to be inherited [temporarily
inheritable|https://github.com/apache/mesos/blob/40b40d9b73221388e583fc140280f1eb2b48b832/3rdparty/stout/include/stout/os/windows/shell.hpp#L280],
spawn the child process, and then make them uninheritable again. While this
works for our purposes, there is a potential race condition where two processes
are spawned at the same time and so inherit each others' handles. Technically
we could put a lock around this code, but that is unnecessary, as according to
this [MSDN blog
article|https://blogs.msdn.microsoft.com/oldnewthing/20111216-00/?p=8873] we
can instead whitelist those handles when calling {{CreateProcess}}. Note: the
existing logic to make them inheritable and then uninheritable again must still
exist; we're just adding a whitelist.
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)