OLD | NEW |
1 // Copyright 2014 The Crashpad Authors. All rights reserved. | 1 // Copyright 2014 The Crashpad Authors. All rights reserved. |
2 // | 2 // |
3 // Licensed under the Apache License, Version 2.0 (the "License"); | 3 // Licensed under the Apache License, Version 2.0 (the "License"); |
4 // you may not use this file except in compliance with the License. | 4 // you may not use this file except in compliance with the License. |
5 // You may obtain a copy of the License at | 5 // You may obtain a copy of the License at |
6 // | 6 // |
7 // http://www.apache.org/licenses/LICENSE-2.0 | 7 // http://www.apache.org/licenses/LICENSE-2.0 |
8 // | 8 // |
9 // Unless required by applicable law or agreed to in writing, software | 9 // Unless required by applicable law or agreed to in writing, software |
10 // distributed under the License is distributed on an "AS IS" BASIS, | 10 // distributed under the License is distributed on an "AS IS" BASIS, |
(...skipping 24 matching lines...) Expand all Loading... |
35 public: | 35 public: |
36 //! \brief An interface that the different request messages that are a part of | 36 //! \brief An interface that the different request messages that are a part of |
37 //! the `exc` Mach subsystem can be dispatched to. | 37 //! the `exc` Mach subsystem can be dispatched to. |
38 class Interface { | 38 class Interface { |
39 public: | 39 public: |
40 //! \brief Handles exceptions raised by `exception_raise()`. | 40 //! \brief Handles exceptions raised by `exception_raise()`. |
41 //! | 41 //! |
42 //! This behaves equivalently to a `catch_exception_raise()` function used | 42 //! This behaves equivalently to a `catch_exception_raise()` function used |
43 //! with `exc_server()`. | 43 //! with `exc_server()`. |
44 //! | 44 //! |
| 45 //! \param[in] trailer The trailer received with the request message. |
45 //! \param[out] destroy_request `true` if the request message is to be | 46 //! \param[out] destroy_request `true` if the request message is to be |
46 //! destroyed even when this method returns success. See | 47 //! destroyed even when this method returns success. See |
47 //! MachMessageServer::Interface. | 48 //! MachMessageServer::Interface. |
48 virtual kern_return_t CatchExceptionRaise( | 49 virtual kern_return_t CatchExceptionRaise( |
49 exception_handler_t exception_port, | 50 exception_handler_t exception_port, |
50 thread_t thread, | 51 thread_t thread, |
51 task_t task, | 52 task_t task, |
52 exception_type_t exception, | 53 exception_type_t exception, |
53 const exception_data_type_t* code, | 54 const exception_data_type_t* code, |
54 mach_msg_type_number_t code_count, | 55 mach_msg_type_number_t code_count, |
| 56 const mach_msg_trailer_t* trailer, |
55 bool* destroy_request) = 0; | 57 bool* destroy_request) = 0; |
56 | 58 |
57 //! \brief Handles exceptions raised by `exception_raise_state()`. | 59 //! \brief Handles exceptions raised by `exception_raise_state()`. |
58 //! | 60 //! |
59 //! This behaves equivalently to a `catch_exception_raise_state()` function | 61 //! This behaves equivalently to a `catch_exception_raise_state()` function |
60 //! used with `exc_server()`. | 62 //! used with `exc_server()`. |
61 //! | 63 //! |
62 //! There is no \a destroy_request parameter because, unlike | 64 //! There is no \a destroy_request parameter because, unlike |
63 //! CatchExceptionRaise() and CatchExceptionRaiseStateIdentity(), the | 65 //! CatchExceptionRaise() and CatchExceptionRaiseStateIdentity(), the |
64 //! request message is not complex (it does not carry the \a thread or \a | 66 //! request message is not complex (it does not carry the \a thread or \a |
65 //! task port rights) and thus there is nothing to destroy. | 67 //! task port rights) and thus there is nothing to destroy. |
| 68 //! |
| 69 //! \param[in] trailer The trailer received with the request message. |
66 virtual kern_return_t CatchExceptionRaiseState( | 70 virtual kern_return_t CatchExceptionRaiseState( |
67 exception_handler_t exception_port, | 71 exception_handler_t exception_port, |
68 exception_type_t exception, | 72 exception_type_t exception, |
69 const exception_data_type_t* code, | 73 const exception_data_type_t* code, |
70 mach_msg_type_number_t code_count, | 74 mach_msg_type_number_t code_count, |
71 thread_state_flavor_t* flavor, | 75 thread_state_flavor_t* flavor, |
72 const natural_t* old_state, | 76 const natural_t* old_state, |
73 mach_msg_type_number_t old_state_count, | 77 mach_msg_type_number_t old_state_count, |
74 thread_state_t new_state, | 78 thread_state_t new_state, |
75 mach_msg_type_number_t* new_state_count) = 0; | 79 mach_msg_type_number_t* new_state_count, |
| 80 const mach_msg_trailer_t* trailer) = 0; |
76 | 81 |
77 //! \brief Handles exceptions raised by `exception_raise_state_identity()`. | 82 //! \brief Handles exceptions raised by `exception_raise_state_identity()`. |
78 //! | 83 //! |
79 //! This behaves equivalently to a `catch_exception_raise_state_identity()` | 84 //! This behaves equivalently to a `catch_exception_raise_state_identity()` |
80 //! function used with `exc_server()`. | 85 //! function used with `exc_server()`. |
81 //! | 86 //! |
| 87 //! \param[in] trailer The trailer received with the request message. |
82 //! \param[out] destroy_request `true` if the request message is to be | 88 //! \param[out] destroy_request `true` if the request message is to be |
83 //! destroyed even when this method returns success. See | 89 //! destroyed even when this method returns success. See |
84 //! MachMessageServer::Interface. | 90 //! MachMessageServer::Interface. |
85 virtual kern_return_t CatchExceptionRaiseStateIdentity( | 91 virtual kern_return_t CatchExceptionRaiseStateIdentity( |
86 exception_handler_t exception_port, | 92 exception_handler_t exception_port, |
87 thread_t thread, | 93 thread_t thread, |
88 task_t task, | 94 task_t task, |
89 exception_type_t exception, | 95 exception_type_t exception, |
90 const exception_data_type_t* code, | 96 const exception_data_type_t* code, |
91 mach_msg_type_number_t code_count, | 97 mach_msg_type_number_t code_count, |
92 thread_state_flavor_t* flavor, | 98 thread_state_flavor_t* flavor, |
93 const natural_t* old_state, | 99 const natural_t* old_state, |
94 mach_msg_type_number_t old_state_count, | 100 mach_msg_type_number_t old_state_count, |
95 thread_state_t new_state, | 101 thread_state_t new_state, |
96 mach_msg_type_number_t* new_state_count, | 102 mach_msg_type_number_t* new_state_count, |
| 103 const mach_msg_trailer_t* trailer, |
97 bool* destroy_request) = 0; | 104 bool* destroy_request) = 0; |
98 | 105 |
99 protected: | 106 protected: |
100 ~Interface() {} | 107 ~Interface() {} |
101 }; | 108 }; |
102 | 109 |
103 //! \brief Constructs an object of this class. | 110 //! \brief Constructs an object of this class. |
104 //! | 111 //! |
105 //! \param[in] interface The interface to dispatch requests to. Weak. | 112 //! \param[in] interface The interface to dispatch requests to. Weak. |
106 explicit ExcServer(Interface* interface); | 113 explicit ExcServer(Interface* interface); |
(...skipping 18 matching lines...) Expand all Loading... |
125 public: | 132 public: |
126 //! \brief An interface that the different request messages that are a part of | 133 //! \brief An interface that the different request messages that are a part of |
127 //! the `mach_exc` Mach subsystem can be dispatched to. | 134 //! the `mach_exc` Mach subsystem can be dispatched to. |
128 class Interface { | 135 class Interface { |
129 public: | 136 public: |
130 //! \brief Handles exceptions raised by `mach_exception_raise()`. | 137 //! \brief Handles exceptions raised by `mach_exception_raise()`. |
131 //! | 138 //! |
132 //! This behaves equivalently to a `catch_mach_exception_raise()` function | 139 //! This behaves equivalently to a `catch_mach_exception_raise()` function |
133 //! used with `mach_exc_server()`. | 140 //! used with `mach_exc_server()`. |
134 //! | 141 //! |
| 142 //! \param[in] trailer The trailer received with the request message. |
135 //! \param[out] destroy_request `true` if the request message is to be | 143 //! \param[out] destroy_request `true` if the request message is to be |
136 //! destroyed even when this method returns success. See | 144 //! destroyed even when this method returns success. See |
137 //! MachMessageServer::Interface. | 145 //! MachMessageServer::Interface. |
138 virtual kern_return_t CatchMachExceptionRaise( | 146 virtual kern_return_t CatchMachExceptionRaise( |
139 exception_handler_t exception_port, | 147 exception_handler_t exception_port, |
140 thread_t thread, | 148 thread_t thread, |
141 task_t task, | 149 task_t task, |
142 exception_type_t exception, | 150 exception_type_t exception, |
143 const mach_exception_data_type_t* code, | 151 const mach_exception_data_type_t* code, |
144 mach_msg_type_number_t code_count, | 152 mach_msg_type_number_t code_count, |
| 153 const mach_msg_trailer_t* trailer, |
145 bool* destroy_request) = 0; | 154 bool* destroy_request) = 0; |
146 | 155 |
147 //! \brief Handles exceptions raised by `mach_exception_raise_state()`. | 156 //! \brief Handles exceptions raised by `mach_exception_raise_state()`. |
148 //! | 157 //! |
149 //! This behaves equivalently to a `catch_mach_exception_raise_state()` | 158 //! This behaves equivalently to a `catch_mach_exception_raise_state()` |
150 //! function used with `mach_exc_server()`. | 159 //! function used with `mach_exc_server()`. |
151 //! | 160 //! |
152 //! There is no \a destroy_request parameter because, unlike | 161 //! There is no \a destroy_request parameter because, unlike |
153 //! CatchMachExceptionRaise() and CatchMachExceptionRaiseStateIdentity(), | 162 //! CatchMachExceptionRaise() and CatchMachExceptionRaiseStateIdentity(), |
154 //! the request message is not complex (it does not carry the \a thread or | 163 //! the request message is not complex (it does not carry the \a thread or |
155 //! \a task port rights) and thus there is nothing to destroy. | 164 //! \a task port rights) and thus there is nothing to destroy. |
| 165 //! |
| 166 //! \param[in] trailer The trailer received with the request message. |
156 virtual kern_return_t CatchMachExceptionRaiseState( | 167 virtual kern_return_t CatchMachExceptionRaiseState( |
157 exception_handler_t exception_port, | 168 exception_handler_t exception_port, |
158 exception_type_t exception, | 169 exception_type_t exception, |
159 const mach_exception_data_type_t* code, | 170 const mach_exception_data_type_t* code, |
160 mach_msg_type_number_t code_count, | 171 mach_msg_type_number_t code_count, |
161 thread_state_flavor_t* flavor, | 172 thread_state_flavor_t* flavor, |
162 const natural_t* old_state, | 173 const natural_t* old_state, |
163 mach_msg_type_number_t old_state_count, | 174 mach_msg_type_number_t old_state_count, |
164 thread_state_t new_state, | 175 thread_state_t new_state, |
165 mach_msg_type_number_t* new_state_count) = 0; | 176 mach_msg_type_number_t* new_state_count, |
| 177 const mach_msg_trailer_t* trailer) = 0; |
166 | 178 |
167 //! \brief Handles exceptions raised by | 179 //! \brief Handles exceptions raised by |
168 //! `mach_exception_raise_state_identity()`. | 180 //! `mach_exception_raise_state_identity()`. |
169 //! | 181 //! |
170 //! This behaves equivalently to a | 182 //! This behaves equivalently to a |
171 //! `catch_mach_exception_raise_state_identity()` function used with | 183 //! `catch_mach_exception_raise_state_identity()` function used with |
172 //! `mach_exc_server()`. | 184 //! `mach_exc_server()`. |
173 //! | 185 //! |
| 186 //! \param[in] trailer The trailer received with the request message. |
174 //! \param[out] destroy_request `true` if the request message is to be | 187 //! \param[out] destroy_request `true` if the request message is to be |
175 //! destroyed even when this method returns success. See | 188 //! destroyed even when this method returns success. See |
176 //! MachMessageServer::Interface. | 189 //! MachMessageServer::Interface. |
177 virtual kern_return_t CatchMachExceptionRaiseStateIdentity( | 190 virtual kern_return_t CatchMachExceptionRaiseStateIdentity( |
178 exception_handler_t exception_port, | 191 exception_handler_t exception_port, |
179 thread_t thread, | 192 thread_t thread, |
180 task_t task, | 193 task_t task, |
181 exception_type_t exception, | 194 exception_type_t exception, |
182 const mach_exception_data_type_t* code, | 195 const mach_exception_data_type_t* code, |
183 mach_msg_type_number_t code_count, | 196 mach_msg_type_number_t code_count, |
184 thread_state_flavor_t* flavor, | 197 thread_state_flavor_t* flavor, |
185 const natural_t* old_state, | 198 const natural_t* old_state, |
186 mach_msg_type_number_t old_state_count, | 199 mach_msg_type_number_t old_state_count, |
187 thread_state_t new_state, | 200 thread_state_t new_state, |
188 mach_msg_type_number_t* new_state_count, | 201 mach_msg_type_number_t* new_state_count, |
| 202 const mach_msg_trailer_t* trailer, |
189 bool* destroy_request) = 0; | 203 bool* destroy_request) = 0; |
190 | 204 |
191 protected: | 205 protected: |
192 ~Interface() {} | 206 ~Interface() {} |
193 }; | 207 }; |
194 | 208 |
195 //! \brief Constructs an object of this class. | 209 //! \brief Constructs an object of this class. |
196 //! | 210 //! |
197 //! \param[in] interface The interface to dispatch requests to. Weak. | 211 //! \param[in] interface The interface to dispatch requests to. Weak. |
198 explicit MachExcServer(Interface* interface); | 212 explicit MachExcServer(Interface* interface); |
(...skipping 42 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
241 thread_t thread, | 255 thread_t thread, |
242 task_t task, | 256 task_t task, |
243 exception_type_t exception, | 257 exception_type_t exception, |
244 const exception_data_type_t* code, | 258 const exception_data_type_t* code, |
245 mach_msg_type_number_t code_count, | 259 mach_msg_type_number_t code_count, |
246 thread_state_flavor_t* flavor, | 260 thread_state_flavor_t* flavor, |
247 const natural_t* old_state, | 261 const natural_t* old_state, |
248 mach_msg_type_number_t old_state_count, | 262 mach_msg_type_number_t old_state_count, |
249 thread_state_t new_state, | 263 thread_state_t new_state, |
250 mach_msg_type_number_t* new_state_count, | 264 mach_msg_type_number_t* new_state_count, |
| 265 const mach_msg_trailer_t* trailer, |
251 bool* destroy_complex_request) = 0; | 266 bool* destroy_complex_request) = 0; |
252 | 267 |
253 protected: | 268 protected: |
254 ~Interface() {} | 269 ~Interface() {} |
255 }; | 270 }; |
256 | 271 |
257 //! \brief Constructs an object of this class. | 272 //! \brief Constructs an object of this class. |
258 //! | 273 //! |
259 //! \param[in] interface The interface to dispatch requests to. Weak. | 274 //! \param[in] interface The interface to dispatch requests to. Weak. |
260 explicit SimplifiedExcServer(Interface* interface); | 275 explicit SimplifiedExcServer(Interface* interface); |
261 | 276 |
262 // ExcServer::Interface: | 277 // ExcServer::Interface: |
263 | 278 |
264 kern_return_t CatchExceptionRaise(exception_handler_t exception_port, | 279 kern_return_t CatchExceptionRaise(exception_handler_t exception_port, |
265 thread_t thread, | 280 thread_t thread, |
266 task_t task, | 281 task_t task, |
267 exception_type_t exception, | 282 exception_type_t exception, |
268 const exception_data_type_t* code, | 283 const exception_data_type_t* code, |
269 mach_msg_type_number_t code_count, | 284 mach_msg_type_number_t code_count, |
| 285 const mach_msg_trailer_t* trailer, |
270 bool* destroy_request) override; | 286 bool* destroy_request) override; |
271 kern_return_t CatchExceptionRaiseState( | 287 kern_return_t CatchExceptionRaiseState( |
272 exception_handler_t exception_port, | 288 exception_handler_t exception_port, |
273 exception_type_t exception, | 289 exception_type_t exception, |
274 const exception_data_type_t* code, | 290 const exception_data_type_t* code, |
275 mach_msg_type_number_t code_count, | 291 mach_msg_type_number_t code_count, |
276 thread_state_flavor_t* flavor, | 292 thread_state_flavor_t* flavor, |
277 const natural_t* old_state, | 293 const natural_t* old_state, |
278 mach_msg_type_number_t old_state_count, | 294 mach_msg_type_number_t old_state_count, |
279 thread_state_t new_state, | 295 thread_state_t new_state, |
280 mach_msg_type_number_t* new_state_count) override; | 296 mach_msg_type_number_t* new_state_count, |
| 297 const mach_msg_trailer_t* trailer) override; |
281 kern_return_t CatchExceptionRaiseStateIdentity( | 298 kern_return_t CatchExceptionRaiseStateIdentity( |
282 exception_handler_t exception_port, | 299 exception_handler_t exception_port, |
283 thread_t thread, | 300 thread_t thread, |
284 task_t task, | 301 task_t task, |
285 exception_type_t exception, | 302 exception_type_t exception, |
286 const exception_data_type_t* code, | 303 const exception_data_type_t* code, |
287 mach_msg_type_number_t code_count, | 304 mach_msg_type_number_t code_count, |
288 thread_state_flavor_t* flavor, | 305 thread_state_flavor_t* flavor, |
289 const natural_t* old_state, | 306 const natural_t* old_state, |
290 mach_msg_type_number_t old_state_count, | 307 mach_msg_type_number_t old_state_count, |
291 thread_state_t new_state, | 308 thread_state_t new_state, |
292 mach_msg_type_number_t* new_state_count, | 309 mach_msg_type_number_t* new_state_count, |
| 310 const mach_msg_trailer_t* trailer, |
293 bool* destroy_request) override; | 311 bool* destroy_request) override; |
294 | 312 |
295 private: | 313 private: |
296 Interface* interface_; // weak | 314 Interface* interface_; // weak |
297 | 315 |
298 DISALLOW_COPY_AND_ASSIGN(SimplifiedExcServer); | 316 DISALLOW_COPY_AND_ASSIGN(SimplifiedExcServer); |
299 }; | 317 }; |
300 | 318 |
301 //! \brief A server interface for the `mach_exc` Mach subsystem, simplified to | 319 //! \brief A server interface for the `mach_exc` Mach subsystem, simplified to |
302 //! have only a single interface method needing implementation. | 320 //! have only a single interface method needing implementation. |
(...skipping 34 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
337 thread_t thread, | 355 thread_t thread, |
338 task_t task, | 356 task_t task, |
339 exception_type_t exception, | 357 exception_type_t exception, |
340 const mach_exception_data_type_t* code, | 358 const mach_exception_data_type_t* code, |
341 mach_msg_type_number_t code_count, | 359 mach_msg_type_number_t code_count, |
342 thread_state_flavor_t* flavor, | 360 thread_state_flavor_t* flavor, |
343 const natural_t* old_state, | 361 const natural_t* old_state, |
344 mach_msg_type_number_t old_state_count, | 362 mach_msg_type_number_t old_state_count, |
345 thread_state_t new_state, | 363 thread_state_t new_state, |
346 mach_msg_type_number_t* new_state_count, | 364 mach_msg_type_number_t* new_state_count, |
| 365 const mach_msg_trailer_t* trailer, |
347 bool* destroy_complex_request) = 0; | 366 bool* destroy_complex_request) = 0; |
348 | 367 |
349 protected: | 368 protected: |
350 ~Interface() {} | 369 ~Interface() {} |
351 }; | 370 }; |
352 | 371 |
353 //! \brief Constructs an object of this class. | 372 //! \brief Constructs an object of this class. |
354 //! | 373 //! |
355 //! \param[in] interface The interface to dispatch requests to. Weak. | 374 //! \param[in] interface The interface to dispatch requests to. Weak. |
356 explicit SimplifiedMachExcServer(Interface* interface); | 375 explicit SimplifiedMachExcServer(Interface* interface); |
357 | 376 |
358 // MachExcServer::Interface: | 377 // MachExcServer::Interface: |
359 | 378 |
360 kern_return_t CatchMachExceptionRaise(exception_handler_t exception_port, | 379 kern_return_t CatchMachExceptionRaise(exception_handler_t exception_port, |
361 thread_t thread, | 380 thread_t thread, |
362 task_t task, | 381 task_t task, |
363 exception_type_t exception, | 382 exception_type_t exception, |
364 const mach_exception_data_type_t* code, | 383 const mach_exception_data_type_t* code, |
365 mach_msg_type_number_t code_count, | 384 mach_msg_type_number_t code_count, |
| 385 const mach_msg_trailer_t* trailer, |
366 bool* destroy_request) override; | 386 bool* destroy_request) override; |
367 kern_return_t CatchMachExceptionRaiseState( | 387 kern_return_t CatchMachExceptionRaiseState( |
368 exception_handler_t exception_port, | 388 exception_handler_t exception_port, |
369 exception_type_t exception, | 389 exception_type_t exception, |
370 const mach_exception_data_type_t* code, | 390 const mach_exception_data_type_t* code, |
371 mach_msg_type_number_t code_count, | 391 mach_msg_type_number_t code_count, |
372 thread_state_flavor_t* flavor, | 392 thread_state_flavor_t* flavor, |
373 const natural_t* old_state, | 393 const natural_t* old_state, |
374 mach_msg_type_number_t old_state_count, | 394 mach_msg_type_number_t old_state_count, |
375 thread_state_t new_state, | 395 thread_state_t new_state, |
376 mach_msg_type_number_t* new_state_count) override; | 396 mach_msg_type_number_t* new_state_count, |
| 397 const mach_msg_trailer_t* trailer) override; |
377 kern_return_t CatchMachExceptionRaiseStateIdentity( | 398 kern_return_t CatchMachExceptionRaiseStateIdentity( |
378 exception_handler_t exception_port, | 399 exception_handler_t exception_port, |
379 thread_t thread, | 400 thread_t thread, |
380 task_t task, | 401 task_t task, |
381 exception_type_t exception, | 402 exception_type_t exception, |
382 const mach_exception_data_type_t* code, | 403 const mach_exception_data_type_t* code, |
383 mach_msg_type_number_t code_count, | 404 mach_msg_type_number_t code_count, |
384 thread_state_flavor_t* flavor, | 405 thread_state_flavor_t* flavor, |
385 const natural_t* old_state, | 406 const natural_t* old_state, |
386 mach_msg_type_number_t old_state_count, | 407 mach_msg_type_number_t old_state_count, |
387 thread_state_t new_state, | 408 thread_state_t new_state, |
388 mach_msg_type_number_t* new_state_count, | 409 mach_msg_type_number_t* new_state_count, |
| 410 const mach_msg_trailer_t* trailer, |
389 bool* destroy_request) override; | 411 bool* destroy_request) override; |
390 | 412 |
391 private: | 413 private: |
392 Interface* interface_; // weak | 414 Interface* interface_; // weak |
393 | 415 |
394 DISALLOW_COPY_AND_ASSIGN(SimplifiedMachExcServer); | 416 DISALLOW_COPY_AND_ASSIGN(SimplifiedMachExcServer); |
395 }; | 417 }; |
396 | 418 |
397 } // namespace internal | 419 } // namespace internal |
398 | 420 |
(...skipping 34 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
433 thread_t thread, | 455 thread_t thread, |
434 task_t task, | 456 task_t task, |
435 exception_type_t exception, | 457 exception_type_t exception, |
436 const exception_data_type_t* code, | 458 const exception_data_type_t* code, |
437 mach_msg_type_number_t code_count, | 459 mach_msg_type_number_t code_count, |
438 thread_state_flavor_t* flavor, | 460 thread_state_flavor_t* flavor, |
439 const natural_t* old_state, | 461 const natural_t* old_state, |
440 mach_msg_type_number_t old_state_count, | 462 mach_msg_type_number_t old_state_count, |
441 thread_state_t new_state, | 463 thread_state_t new_state, |
442 mach_msg_type_number_t* new_state_count, | 464 mach_msg_type_number_t* new_state_count, |
| 465 const mach_msg_trailer_t* trailer, |
443 bool* destroy_complex_request) override; | 466 bool* destroy_complex_request) override; |
444 | 467 |
445 private: | 468 private: |
446 internal::SimplifiedExcServer exc_server_; | 469 internal::SimplifiedExcServer exc_server_; |
447 internal::SimplifiedMachExcServer mach_exc_server_; | 470 internal::SimplifiedMachExcServer mach_exc_server_; |
448 | 471 |
449 DISALLOW_COPY_AND_ASSIGN(UniversalMachExcServer); | 472 DISALLOW_COPY_AND_ASSIGN(UniversalMachExcServer); |
450 }; | 473 }; |
451 | 474 |
452 //! \brief Recovers the original exception, first exception code, and signal | 475 //! \brief Recovers the original exception, first exception code, and signal |
(...skipping 76 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
529 //! \a behavior is not a state-carrying behavior, or when it is a | 552 //! \a behavior is not a state-carrying behavior, or when it is a |
530 //! state-carrying behavior and \a set_thread_state is `true`. | 553 //! state-carrying behavior and \a set_thread_state is `true`. |
531 //! `MACH_RCV_PORT_DIED` is used when \a behavior is a state-carrying | 554 //! `MACH_RCV_PORT_DIED` is used when \a behavior is a state-carrying |
532 //! behavior and \a set_thread_state is `false`. | 555 //! behavior and \a set_thread_state is `false`. |
533 kern_return_t ExcServerSuccessfulReturnValue(exception_behavior_t behavior, | 556 kern_return_t ExcServerSuccessfulReturnValue(exception_behavior_t behavior, |
534 bool set_thread_state); | 557 bool set_thread_state); |
535 | 558 |
536 } // namespace crashpad | 559 } // namespace crashpad |
537 | 560 |
538 #endif // CRASHPAD_UTIL_MACH_EXC_SERVER_VARIANTS_H_ | 561 #endif // CRASHPAD_UTIL_MACH_EXC_SERVER_VARIANTS_H_ |
OLD | NEW |