| 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."
|
|
|