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

Unified Diff: ppapi/proxy/ppb_context_3d_proxy.cc

Issue 6549037: Dup command-buffer SHM handle before auto-closing. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 9 years, 10 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 side-by-side diff with in-line comments
Download patch
« no previous file with comments | « base/sync_socket_posix.cc ('k') | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: ppapi/proxy/ppb_context_3d_proxy.cc
diff --git a/ppapi/proxy/ppb_context_3d_proxy.cc b/ppapi/proxy/ppb_context_3d_proxy.cc
index 9c1e3835675147f9b62e2886740aa5bfcefd2dd3..076f13310493f7b9076dc9c2f203a4fe00ed9dd9 100644
--- a/ppapi/proxy/ppb_context_3d_proxy.cc
+++ b/ppapi/proxy/ppb_context_3d_proxy.cc
@@ -133,8 +133,11 @@ const PPB_Context3D_Dev context_3d_interface = {
base::SharedMemoryHandle SHMHandleFromInt(int shm_handle) {
#if defined(OS_POSIX)
- return base::FileDescriptor(shm_handle, true);
+ // The handle isn't ours to close, but we want to keep a reference to the
+ // handle until it is actually sent, so duplicate it, and mark auto-close.
+ return base::FileDescriptor(dup(shm_handle), true);
#elif defined(OS_WIN)
+ // TODO(piman): DuplicateHandle to the plugin process.
return reinterpret_cast<HANDLE>(shm_handle);
#else
#error "Platform not supported."
« no previous file with comments | « base/sync_socket_posix.cc ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698