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

Unified Diff: chrome/browser/renderer_host/render_widget_helper.cc

Issue 39208: POSIX: Rewrite IPC's interaction with FileDescriptor (Closed)
Patch Set: Created 11 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
Index: chrome/browser/renderer_host/render_widget_helper.cc
diff --git a/chrome/browser/renderer_host/render_widget_helper.cc b/chrome/browser/renderer_host/render_widget_helper.cc
index 715a85bb874ef6bbe7f5be2087435ab658c64bff..24e17101addb2b1bd6c8444faa5ea339d594c0cd 100644
--- a/chrome/browser/renderer_host/render_widget_helper.cc
+++ b/chrome/browser/renderer_host/render_widget_helper.cc
@@ -263,21 +263,21 @@ TransportDIB* RenderWidgetHelper::MapTransportDIB(TransportDIB::Id dib_id) {
}
void RenderWidgetHelper::AllocTransportDIB(
- size_t size, IPC::Maybe<TransportDIB::Handle>* result) {
+ size_t size, TransportDIB::Handle* result) {
base::SharedMemory* shared_memory = new base::SharedMemory();
if (!shared_memory->Create(L"", false /* read write */,
false /* do not open existing */, size)) {
- result->valid = false;
+ result->fd = -1;
+ result->auto_close = false;
delete shared_memory;
return;
}
- result->valid = true;
- shared_memory->GiveToProcess(0 /* pid, not needed */, &result->value);
+ shared_memory->GiveToProcess(0 /* pid, not needed */, result);
// Keep a copy of the file descriptor around
AutoLock locked(allocated_dibs_lock_);
- allocated_dibs_[shared_memory->id()] = dup(result->value.fd);
+ allocated_dibs_[shared_memory->id()] = dup(result->fd);
}
void RenderWidgetHelper::FreeTransportDIB(TransportDIB::Id dib_id) {

Powered by Google App Engine
This is Rietveld 408576698