summaryrefslogtreecommitdiffstats
path: root/base
diff options
context:
space:
mode:
authormal@chromium.org <mal@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2009-11-25 21:38:54 +0000
committermal@chromium.org <mal@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2009-11-25 21:38:54 +0000
commit4e8ebaae85e28511c93c6f3ba08c9839d9370b29 (patch)
tree68e05fde1f1922a1ed449b3d273229d5f98c07e0 /base
parentde8c1bd2848d9425d939c587c42b37ae496b954d (diff)
downloadchromium_src-4e8ebaae85e28511c93c6f3ba08c9839d9370b29.zip
chromium_src-4e8ebaae85e28511c93c6f3ba08c9839d9370b29.tar.gz
chromium_src-4e8ebaae85e28511c93c6f3ba08c9839d9370b29.tar.bz2
Merge 32701 - Don't do work in the SharedIOBuffer constructor;
use an Init method instead. This eliminates instances of allocatedbutinvalid SharedIOBuffers. Also clean up some CHECKs and TODOs associated with the bug. The upshot is that we no longer crash in AsyncResourceHandler::OnResponseCompleted() when we can't allocate shared memory. We now crash (properly, I believe) in the renderer process if the shared memory that failed to allocate was the TransportDIB, since the renderer can't communicate with the browser without it. BUG=16371 TEST=none Review URL: http://codereview.chromium.org/391009 TBR=hawk@chromium.org Review URL: http://codereview.chromium.org/437070 git-svn-id: svn://svn.chromium.org/chrome/branches/249/src@33126 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'base')
-rw-r--r--base/shared_memory_posix.cc6
1 files changed, 2 insertions, 4 deletions
diff --git a/base/shared_memory_posix.cc b/base/shared_memory_posix.cc
index 6919cfc..34e7b72 100644
--- a/base/shared_memory_posix.cc
+++ b/base/shared_memory_posix.cc
@@ -203,10 +203,8 @@ bool SharedMemory::CreateOrOpen(const std::wstring &name,
return false;
const size_t current_size = stat.st_size;
if (current_size != size) {
- // TODO(hawk): When finished with bug 16371, revert this CHECK() to:
- // if (ftruncate(fileno(fp), size) != 0)
- // return false;
- CHECK(!ftruncate(fileno(fp), size));
+ if (ftruncate(fileno(fp), size) != 0)
+ return false;
if (fseeko(fp, size, SEEK_SET) != 0)
return false;
}