summaryrefslogtreecommitdiffstats
path: root/base/memory/shared_memory.h
diff options
context:
space:
mode:
authorerikchen <erikchen@chromium.org>2015-11-02 11:46:06 -0800
committerCommit bot <commit-bot@chromium.org>2015-11-02 19:47:04 +0000
commita3aaaaf1c84c68c3c6804b369611224a1a04db64 (patch)
tree6ce818caf94987eee812bb60a52d4ffd8b6008ee /base/memory/shared_memory.h
parent1d65464dd63c1456d5850859feacfc38c05fba2d (diff)
downloadchromium_src-a3aaaaf1c84c68c3c6804b369611224a1a04db64.zip
chromium_src-a3aaaaf1c84c68c3c6804b369611224a1a04db64.tar.gz
chromium_src-a3aaaaf1c84c68c3c6804b369611224a1a04db64.tar.bz2
reland 3: "mac: Run A/B experiment on SharedMemory mechanism for resource buffers."
The second reland still induced flaky crashes in GPU conformance tests related to over-releasing a scoped_refptr<MessageAttachment>. This CL should have fixed the problem: https://codereview.chromium.org/1408793008/. I can reproduce the failure non-deterministically locally. I get a crash every 2-3 runs of the ogles conformance tests. With the CL I mentioned above, I've had 20 runs with no crashes. > The CL changes the default behavior of resource buffer to use a Mach-backed > SharedMemory region. This CL adds a field trial to measure the effect of Mach vs > POSIX backed SharedMemory regions. > > BUG=547261, 466437 > Committed: https://crrev.com/e0e2fd398f3d07c8eebbe662d71a0f9286862476 > Cr-Commit-Position: refs/heads/master@{#356513} BUG=547261, 466437 TBR=mark@chromium.org, isherman@chromium.org, asvitkine@chromium.org, avi@chromium.org Review URL: https://codereview.chromium.org/1420203008 Cr-Commit-Position: refs/heads/master@{#357407}
Diffstat (limited to 'base/memory/shared_memory.h')
-rw-r--r--base/memory/shared_memory.h4
1 files changed, 4 insertions, 0 deletions
diff --git a/base/memory/shared_memory.h b/base/memory/shared_memory.h
index 18416c0..5cdcb0d 100644
--- a/base/memory/shared_memory.h
+++ b/base/memory/shared_memory.h
@@ -140,6 +140,10 @@ class BASE_EXPORT SharedMemory {
// http://crbug.com/466437.
bool CreateAndMapAnonymousPosix(size_t size);
bool CreateAnonymousPosix(size_t size);
+
+ // This method is an analog of CreateAndMapAnonymous that forces the
+ // underlying OS primitive to be a Mach memory object.
+ bool CreateAndMapAnonymousMach(size_t size);
#endif // defined(OS_MACOSX) && !defined(OS_IOS)
// Creates an anonymous shared memory segment of size size.