commit | 117d1163c2e356597c066c91187545b25e11c376 | [log] [tgz] |
---|---|---|
author | Findit <findit-for-me@appspot.gserviceaccount.com> | Fri Mar 23 20:40:08 2018 |
committer | Findit <findit-for-me@appspot.gserviceaccount.com> | Fri Mar 23 20:40:08 2018 |
tree | dde3dd05a825ad4d27d9ea12089a4cab3e08ddf3 | |
parent | 6f23607b329bf57e05f782eee76d220916b627fa [diff] |
Revert "base: Introduce the new Shared Memory API" This reverts commit cdd8661f3f35d7075020ead0492cd83e18f795e9. Reason for revert: Findit (https://goo.gl/kROfz5) identified CL at revision 545521 as the culprit for failures in the build cycles as shown on: https://findit-for-me.appspot.com/waterfall/culprit?key=ag9zfmZpbmRpdC1mb3ItbWVyRAsSDVdmU3VzcGVjdGVkQ0wiMWNocm9taXVtL2NkZDg2NjFmM2YzNWQ3MDc1MDIwZWFkMDQ5MmNkODNlMThmNzk1ZTkM Sample Failed Build: https://ci.chromium.org/buildbot/chromium.linux/Linux%20Tests%20%28dbg%29%281%29%2832%29/48976 Sample Failed Step: base_unittests Original change's description: > base: Introduce the new Shared Memory API > > Design doc (public): https://goo.gl/HmBYy6 > > This patch proposes the new API for the Shared Memory based on two > concepts, a shared memory region and a shared memory mapping. The > region controls the platform-specific handle and mediates sharing and > access control. The mapping is just a reference to the memory bytes > which knows how to unmap itself. Ownership is per-instance: neither a > region nor a mapping may be copied, and resources are freed when then > instance dies. This is accomplished through move-only semantics. > > The goal of the new API is to provide a correct cross-platform > implementation that makes the sharing mode explicit via the C++ type > system. > > Thus, this CL introduces two classes for shared memory mappings: > - WritableSharedMemoryMapping owns and provides an access to writable > shared memory > - ReadOnlySharedMemoryMapping for read-only shared memory > > and three classes representing shared memory regions: > - UnsafeSharedMemoryRegion allows to create > WritableSharedMemoryMapping instances and cannot be used for making > read-only mappings > - ReadOnlySharedMemoryRegion, on the contrary, can produce only > ReadOnlySharedMemoryMapping instances and it also creates one writable > mapping in the caller process address space > - WritableSharedMemoryRegion allows to create writable > mappings and can be eventually converted to ReadOnlySharedMemoryRegion. > The important limitation in comparison with UnsafeSharedMemoryRegion > is that the WritableSharedMemoryRegion cannot be duplicated so in > order to pass the writable region to another process, the ownership of > the region must be moved/transferred to this process. > > Bug: 795291 > Change-Id: I7d1d0a24932145cc0f449b01ceb8cafef9b7e407 > Reviewed-on: https://chromium-review.googlesource.com/893458 > Commit-Queue: Alexandr Ilin <alexilin@chromium.org> > Reviewed-by: Matthew Cary <mattcary@chromium.org> > Reviewed-by: Daniel Cheng <dcheng@chromium.org> > Reviewed-by: Erik Chen <erikchen@chromium.org> > Reviewed-by: Robert Sesek <rsesek@chromium.org> > Reviewed-by: Ken Rockot <rockot@chromium.org> > Cr-Commit-Position: refs/heads/master@{#545521} Change-Id: I9c5657e80b8a262a42311d4d2a0239dc242ab8f5 No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: 795291 Reviewed-on: https://chromium-review.googlesource.com/978563 Cr-Commit-Position: refs/heads/master@{#545568}
Chromium is an open-source browser project that aims to build a safer, faster, and more stable way for all users to experience the web.
The project's web site is https://www.chromium.org.
Documentation in the source is rooted in docs/README.md.
Learn how to Get Around the Chromium Source Code Directory Structure .