зеркало из https://github.com/mozilla/gecko-dev.git
Bug 1611547 - Fix MacProcessLauncher to close the IPC client pipe. r=froydnj
MacProcessLauncher overrides DoFinishLaunch from PosixProcessLauncher, but doesn't call the superclass method, so CloseClientFileDescriptor is never called on the channel. Currently this doesn't cause any obvious problems, because the channel object redundantly closes the fd when it first reads data from the child process; however, that extra close is thread-unsafe and being removed in bug 1607153. Trying to fix bug 1607153 without this patch caused a number of test suites to fail by timing out, probably because the extra copy of the client (child) end of the pipe causes the server (parent) end to never get an end-of-file or broken pipe error during shutdown. Differential Revision: https://phabricator.services.mozilla.com/D61050 --HG-- extra : moz-landing-system : lando
This commit is contained in:
Родитель
cf9ced0277
Коммит
5da5bf3e63
|
@ -1219,6 +1219,10 @@ bool PosixProcessLauncher::DoFinishLaunch() {
|
|||
|
||||
#ifdef XP_MACOSX
|
||||
bool MacProcessLauncher::DoFinishLaunch() {
|
||||
if (!PosixProcessLauncher::DoFinishLaunch()) {
|
||||
return false;
|
||||
}
|
||||
|
||||
// Wait for the child process to send us its 'task_t' data.
|
||||
const int kTimeoutMs = 10000;
|
||||
|
||||
|
|
Загрузка…
Ссылка в новой задаче