OLD | NEW |
1 // Copyright 2013 The Chromium Authors. All rights reserved. | 1 // Copyright 2013 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 "components/crash/content/browser/crash_handler_host_linux.h" | 5 #include "components/crash/content/browser/crash_handler_host_linux.h" |
6 | 6 |
7 #include <errno.h> | 7 #include <errno.h> |
8 #include <stddef.h> | 8 #include <stddef.h> |
9 #include <stdint.h> | 9 #include <stdint.h> |
10 #include <stdlib.h> | 10 #include <stdlib.h> |
(...skipping 81 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
92 // non-refcounted pointers. | 92 // non-refcounted pointers. |
93 | 93 |
94 CrashHandlerHostLinux::CrashHandlerHostLinux(const std::string& process_type, | 94 CrashHandlerHostLinux::CrashHandlerHostLinux(const std::string& process_type, |
95 const base::FilePath& dumps_path, | 95 const base::FilePath& dumps_path, |
96 bool upload) | 96 bool upload) |
97 : process_type_(process_type), | 97 : process_type_(process_type), |
98 dumps_path_(dumps_path), | 98 dumps_path_(dumps_path), |
99 #if !defined(OS_ANDROID) | 99 #if !defined(OS_ANDROID) |
100 upload_(upload), | 100 upload_(upload), |
101 #endif | 101 #endif |
| 102 file_descriptor_watcher_(FROM_HERE), |
102 shutting_down_(false), | 103 shutting_down_(false), |
103 worker_pool_token_(base::SequencedWorkerPool::GetSequenceToken()) { | 104 worker_pool_token_(base::SequencedWorkerPool::GetSequenceToken()) { |
104 write_dump_file_sequence_checker_.DetachFromSequence(); | 105 write_dump_file_sequence_checker_.DetachFromSequence(); |
105 | 106 |
106 int fds[2]; | 107 int fds[2]; |
107 // We use SOCK_SEQPACKET rather than SOCK_DGRAM to prevent the process from | 108 // We use SOCK_SEQPACKET rather than SOCK_DGRAM to prevent the process from |
108 // sending datagrams to other sockets on the system. The sandbox may prevent | 109 // sending datagrams to other sockets on the system. The sandbox may prevent |
109 // the process from calling socket() to create new sockets, but it'll still | 110 // the process from calling socket() to create new sockets, but it'll still |
110 // inherit some sockets. With PF_UNIX+SOCK_DGRAM, it can call sendmsg to send | 111 // inherit some sockets. With PF_UNIX+SOCK_DGRAM, it can call sendmsg to send |
111 // a datagram to any (abstract) socket on the same system. With | 112 // a datagram to any (abstract) socket on the same system. With |
(...skipping 380 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
492 // no-ops. | 493 // no-ops. |
493 shutting_down_ = true; | 494 shutting_down_ = true; |
494 uploader_thread_->Stop(); | 495 uploader_thread_->Stop(); |
495 } | 496 } |
496 | 497 |
497 bool CrashHandlerHostLinux::IsShuttingDown() const { | 498 bool CrashHandlerHostLinux::IsShuttingDown() const { |
498 return shutting_down_; | 499 return shutting_down_; |
499 } | 500 } |
500 | 501 |
501 } // namespace breakpad | 502 } // namespace breakpad |
OLD | NEW |