зеркало из https://github.com/mozilla/gecko-dev.git
Bug 1142935
- reset transports with NuwaAddConstructor(). r=tlee
This commit is contained in:
Родитель
d24913bfc3
Коммит
45006fc32b
|
@ -549,6 +549,25 @@ InitOnContentProcessCreated()
|
|||
mozilla::dom::time::InitializeDateCacheCleaner();
|
||||
}
|
||||
|
||||
#ifdef MOZ_NUWA_PROCESS
|
||||
static void
|
||||
ResetTransports(void* aUnused) {
|
||||
ContentChild* child = ContentChild::GetSingleton();
|
||||
mozilla::ipc::Transport* transport = child->GetTransport();
|
||||
int fd = transport->GetFileDescriptor();
|
||||
transport->ResetFileDescriptor(fd);
|
||||
|
||||
IToplevelProtocol* toplevel = child->GetFirstOpenedActors();
|
||||
while (toplevel != nullptr) {
|
||||
transport = toplevel->GetTransport();
|
||||
fd = transport->GetFileDescriptor();
|
||||
transport->ResetFileDescriptor(fd);
|
||||
|
||||
toplevel = toplevel->getNext();
|
||||
}
|
||||
}
|
||||
#endif
|
||||
|
||||
#if defined(MOZ_TASK_TRACER) && defined(MOZ_NUWA_PROCESS)
|
||||
static void
|
||||
ReinitTaskTracer(void* /*aUnused*/)
|
||||
|
@ -654,6 +673,12 @@ ContentChild::Init(MessageLoop* aIOLoop,
|
|||
}
|
||||
#endif
|
||||
|
||||
#ifdef MOZ_NUWA_PROCESS
|
||||
if (IsNuwaProcess()) {
|
||||
NuwaAddConstructor(ResetTransports, nullptr);
|
||||
}
|
||||
#endif
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
|
@ -2415,18 +2440,6 @@ public:
|
|||
// In the new process.
|
||||
ContentChild* child = ContentChild::GetSingleton();
|
||||
child->SetProcessName(NS_LITERAL_STRING("(Preallocated app)"), false);
|
||||
mozilla::ipc::Transport* transport = child->GetTransport();
|
||||
int fd = transport->GetFileDescriptor();
|
||||
transport->ResetFileDescriptor(fd);
|
||||
|
||||
IToplevelProtocol* toplevel = child->GetFirstOpenedActors();
|
||||
while (toplevel != nullptr) {
|
||||
transport = toplevel->GetTransport();
|
||||
fd = transport->GetFileDescriptor();
|
||||
transport->ResetFileDescriptor(fd);
|
||||
|
||||
toplevel = toplevel->getNext();
|
||||
}
|
||||
|
||||
// Perform other after-fork initializations.
|
||||
InitOnContentProcessCreated();
|
||||
|
|
Загрузка…
Ссылка в новой задаче