зеркало из https://github.com/mozilla/gecko-dev.git
5e08e6891a
With this new approach, Shmem instances will now have their handles transferred inline within messages as attachments, rather than being associated with their actors and sent in separate messages. This has a few advantages: * The implementation is much simpler * Releasing all references to a Shmem will automatically destroy it by RAII, rather than leaking the shared memory region until the toplevel actor is destroyed, removing the need for types like RaiiShmem. * This allows re-transmitting Shmem instances to another process, as we don't close the shared memory region handle upon receiving it. But also has a disadvantage that because we keep alive the shared memory region's handle until the shmem is destroyed, so that it can be re-transmitted, we may end up using more FDs or HANDLEs while running. This patch intentionally doesn't change or simplify callsites, removing APIs like RaiiShmem, in order to make it easier to revert if this causes issues on platforms like Linux due to FD exhaustion. If we don't run into increased resource exhaustion problems, we can make these changes in a follow-up. Differential Revision: https://phabricator.services.mozilla.com/D140211 |
||
---|---|---|
.. | ||
app | ||
chromium | ||
contentproc | ||
docs | ||
glue | ||
gtest | ||
ipdl | ||
mscom | ||
testshell | ||
moz.build | ||
pull-chromium.py |