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

Side by Side Diff: chrome/browser/renderer_host/render_widget_helper.cc

Issue 100225: POSIX: Add a macro for handling EINTR. (Closed)
Patch Set: ... Created 11 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
« no previous file with comments | « chrome/browser/process_singleton_linux.cc ('k') | chrome/common/file_descriptor_set_posix.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright (c) 2006-2008 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2006-2008 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 #include "chrome/browser/renderer_host/render_widget_helper.h" 5 #include "chrome/browser/renderer_host/render_widget_helper.h"
6 6
7 #include "base/eintr_wrappers.h"
7 #include "base/thread.h" 8 #include "base/thread.h"
8 #include "chrome/browser/browser_process.h" 9 #include "chrome/browser/browser_process.h"
9 #include "chrome/browser/renderer_host/render_process_host.h" 10 #include "chrome/browser/renderer_host/render_process_host.h"
10 #include "chrome/browser/renderer_host/render_view_host.h" 11 #include "chrome/browser/renderer_host/render_view_host.h"
11 #include "chrome/browser/renderer_host/resource_dispatcher_host.h" 12 #include "chrome/browser/renderer_host/resource_dispatcher_host.h"
12 #include "chrome/common/render_messages.h" 13 #include "chrome/common/render_messages.h"
13 14
14 // A Task used with InvokeLater that we hold a pointer to in pending_paints_. 15 // A Task used with InvokeLater that we hold a pointer to in pending_paints_.
15 // Instances are deleted by MessageLoop after it calls their Run method. 16 // Instances are deleted by MessageLoop after it calls their Run method.
16 class RenderWidgetHelper::PaintMsgProxy : public Task { 17 class RenderWidgetHelper::PaintMsgProxy : public Task {
(...skipping 287 matching lines...) Expand 10 before | Expand all | Expand 10 after
304 allocated_dibs_[shared_memory->id()] = dup(result->fd); 305 allocated_dibs_[shared_memory->id()] = dup(result->fd);
305 } 306 }
306 307
307 void RenderWidgetHelper::FreeTransportDIB(TransportDIB::Id dib_id) { 308 void RenderWidgetHelper::FreeTransportDIB(TransportDIB::Id dib_id) {
308 AutoLock locked(allocated_dibs_lock_); 309 AutoLock locked(allocated_dibs_lock_);
309 310
310 const std::map<TransportDIB::Id, int>::iterator 311 const std::map<TransportDIB::Id, int>::iterator
311 i = allocated_dibs_.find(dib_id); 312 i = allocated_dibs_.find(dib_id);
312 313
313 if (i != allocated_dibs_.end()) { 314 if (i != allocated_dibs_.end()) {
314 close(i->second); 315 HANDLE_EINTR(close(i->second));
315 allocated_dibs_.erase(i); 316 allocated_dibs_.erase(i);
316 } else { 317 } else {
317 DLOG(WARNING) << "Renderer asked us to free unknown transport DIB"; 318 DLOG(WARNING) << "Renderer asked us to free unknown transport DIB";
318 } 319 }
319 } 320 }
320 321
321 void RenderWidgetHelper::ClearAllocatedDIBs() { 322 void RenderWidgetHelper::ClearAllocatedDIBs() {
322 for (std::map<TransportDIB::Id, int>::iterator 323 for (std::map<TransportDIB::Id, int>::iterator
323 i = allocated_dibs_.begin(); i != allocated_dibs_.end(); ++i) { 324 i = allocated_dibs_.begin(); i != allocated_dibs_.end(); ++i) {
324 close(i->second); 325 HANDLE_EINTR(close(i->second));
325 } 326 }
326 327
327 allocated_dibs_.clear(); 328 allocated_dibs_.clear();
328 } 329 }
329 #endif 330 #endif
OLDNEW
« no previous file with comments | « chrome/browser/process_singleton_linux.cc ('k') | chrome/common/file_descriptor_set_posix.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698