Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(133)

Side by Side Diff: base/memory/shared_memory.h

Issue 1122163002: Ensure that the DirectWrite font cache works in Chrome canary on Windows 8+ with AppContainer prote… (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 5 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #ifndef BASE_MEMORY_SHARED_MEMORY_H_ 5 #ifndef BASE_MEMORY_SHARED_MEMORY_H_
6 #define BASE_MEMORY_SHARED_MEMORY_H_ 6 #define BASE_MEMORY_SHARED_MEMORY_H_
7 7
8 #include "build/build_config.h" 8 #include "build/build_config.h"
9 9
10 #include <string> 10 #include <string>
(...skipping 182 matching lines...) Expand 10 before | Expand all | Expand 10 after
193 SharedMemoryHandle handle() const; 193 SharedMemoryHandle handle() const;
194 194
195 #if defined(OS_POSIX) && !defined(OS_NACL) 195 #if defined(OS_POSIX) && !defined(OS_NACL)
196 // Returns a unique identifier for this shared memory segment. Inode numbers 196 // Returns a unique identifier for this shared memory segment. Inode numbers
197 // are technically only unique to a single filesystem. However, we always 197 // are technically only unique to a single filesystem. However, we always
198 // allocate shared memory backing files from the same directory, so will end 198 // allocate shared memory backing files from the same directory, so will end
199 // up on the same filesystem. 199 // up on the same filesystem.
200 SharedMemoryId id() const { return inode_; } 200 SharedMemoryId id() const { return inode_; }
201 #endif 201 #endif
202 202
203 #if defined(OS_WIN)
204 // Allows the caller to specify if the underlying handle to the shared memory
205 // section is inheritable.
206 void set_inheritable(bool inheritable) {
207 inheritable_ = inheritable;
208 }
209 #endif
210
203 // Closes the open shared memory segment. The memory will remain mapped if 211 // Closes the open shared memory segment. The memory will remain mapped if
204 // it was previously mapped. 212 // it was previously mapped.
205 // It is safe to call Close repeatedly. 213 // It is safe to call Close repeatedly.
206 void Close(); 214 void Close();
207 215
208 // Shares the shared memory to another process. Attempts to create a 216 // Shares the shared memory to another process. Attempts to create a
209 // platform-specific new_handle which can be used in a remote process to read 217 // platform-specific new_handle which can be used in a remote process to read
210 // the shared memory file. new_handle is an output parameter to receive the 218 // the shared memory file. new_handle is an output parameter to receive the
211 // handle for use in the remote process. 219 // handle for use in the remote process.
212 // 220 //
(...skipping 66 matching lines...) Expand 10 before | Expand all | Expand 10 after
279 SHARE_CURRENT_MODE, 287 SHARE_CURRENT_MODE,
280 }; 288 };
281 bool ShareToProcessCommon(ProcessHandle process, 289 bool ShareToProcessCommon(ProcessHandle process,
282 SharedMemoryHandle* new_handle, 290 SharedMemoryHandle* new_handle,
283 bool close_self, 291 bool close_self,
284 ShareMode); 292 ShareMode);
285 293
286 #if defined(OS_WIN) 294 #if defined(OS_WIN)
287 std::wstring name_; 295 std::wstring name_;
288 HANDLE mapped_file_; 296 HANDLE mapped_file_;
297 // Indicates if the shared memory handle is inhertiable. Defaults to false.
298 bool inheritable_;
289 #elif defined(OS_POSIX) 299 #elif defined(OS_POSIX)
290 int mapped_file_; 300 int mapped_file_;
291 int readonly_mapped_file_; 301 int readonly_mapped_file_;
292 ino_t inode_; 302 ino_t inode_;
293 #endif 303 #endif
294 size_t mapped_size_; 304 size_t mapped_size_;
295 void* memory_; 305 void* memory_;
296 bool read_only_; 306 bool read_only_;
297 size_t requested_size_; 307 size_t requested_size_;
298 #if !defined(OS_POSIX) 308 #if !defined(OS_POSIX)
(...skipping 18 matching lines...) Expand all
317 } 327 }
318 328
319 private: 329 private:
320 SharedMemory* shared_memory_; 330 SharedMemory* shared_memory_;
321 DISALLOW_COPY_AND_ASSIGN(SharedMemoryAutoLockDeprecated); 331 DISALLOW_COPY_AND_ASSIGN(SharedMemoryAutoLockDeprecated);
322 }; 332 };
323 333
324 } // namespace base 334 } // namespace base
325 335
326 #endif // BASE_MEMORY_SHARED_MEMORY_H_ 336 #endif // BASE_MEMORY_SHARED_MEMORY_H_
OLDNEW
« no previous file with comments | « no previous file | base/memory/shared_memory_win.cc » ('j') | content/browser/renderer_host/render_process_host_impl.cc » ('J')

Powered by Google App Engine
This is Rietveld 408576698