Bug 1397468 - Shmem creation/destruction messages should not be SystemGroup (r=dvander)

It's important that shmem creation/destruction messages be ordered
correctly with respect to other messages that use shmems. For example,
if we create a shmem with ID 10 and then send a message that
references shmem 10, then the creation message must be handled before
the referencing message. If shmem creation/destruction messages go in
a separate queue from other messages, this ordering may not be
preserved.

Leaving shmem creation/destruction unlabeled will give us the correct
ordering. Eventually, though, we'll need to provide a solution that
doesn't bottleneck the event queue.

MozReview-Commit-ID: 88MrslRrfnh
This commit is contained in:
Bill McCloskey 2017-09-01 16:29:25 -07:00
Родитель f4a2340251
Коммит ae0dd13fe2
1 изменённых файлов: 0 добавлений и 7 удалений

Просмотреть файл

@ -826,13 +826,6 @@ IToplevelProtocol::ShmemDestroyed(const Message& aMsg)
already_AddRefed<nsIEventTarget>
IToplevelProtocol::GetMessageEventTarget(const Message& aMsg)
{
if (IsMainThreadProtocol() && SystemGroup::Initialized()) {
if (aMsg.type() == SHMEM_CREATED_MESSAGE_TYPE ||
aMsg.type() == SHMEM_DESTROYED_MESSAGE_TYPE) {
return do_AddRef(SystemGroup::EventTargetFor(TaskCategory::Other));
}
}
int32_t route = aMsg.routing_id();
Maybe<MutexAutoLock> lock;