OLD | NEW |
1 // Copyright (c) 2011, the Dart project authors. Please see the AUTHORS file | 1 // Copyright (c) 2011, the Dart project authors. Please see the AUTHORS file |
2 // for details. All rights reserved. Use of this source code is governed by a | 2 // for details. All rights reserved. Use of this source code is governed by a |
3 // BSD-style license that can be found in the LICENSE file. | 3 // BSD-style license that can be found in the LICENSE file. |
4 | 4 |
5 #ifndef VM_MESSAGE_HANDLER_H_ | 5 #ifndef VM_MESSAGE_HANDLER_H_ |
6 #define VM_MESSAGE_HANDLER_H_ | 6 #define VM_MESSAGE_HANDLER_H_ |
7 | 7 |
8 #include "vm/isolate.h" | 8 #include "vm/isolate.h" |
9 #include "vm/message.h" | 9 #include "vm/message.h" |
10 #include "vm/os_thread.h" | 10 #include "vm/os_thread.h" |
(...skipping 78 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
89 } | 89 } |
90 | 90 |
91 void set_pause_on_exit(bool pause_on_exit) { | 91 void set_pause_on_exit(bool pause_on_exit) { |
92 pause_on_exit_ = pause_on_exit; | 92 pause_on_exit_ = pause_on_exit; |
93 } | 93 } |
94 | 94 |
95 bool paused_on_exit() const { | 95 bool paused_on_exit() const { |
96 return paused_on_exit_; | 96 return paused_on_exit_; |
97 } | 97 } |
98 | 98 |
| 99 // Timestamp of the paused on start or paused on exit. |
| 100 int64_t paused_timestamp() const { |
| 101 return paused_timestamp_; |
| 102 } |
| 103 |
99 class AcquiredQueues : public ValueObject { | 104 class AcquiredQueues : public ValueObject { |
100 public: | 105 public: |
101 AcquiredQueues(); | 106 AcquiredQueues(); |
102 | 107 |
103 ~AcquiredQueues(); | 108 ~AcquiredQueues(); |
104 | 109 |
105 MessageQueue* queue() { | 110 MessageQueue* queue() { |
106 if (handler_ == NULL) { | 111 if (handler_ == NULL) { |
107 return NULL; | 112 return NULL; |
108 } | 113 } |
(...skipping 91 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
200 MessageQueue* oob_queue_; | 205 MessageQueue* oob_queue_; |
201 // This flag is not thread safe and can only reliably be accessed on a single | 206 // This flag is not thread safe and can only reliably be accessed on a single |
202 // thread. | 207 // thread. |
203 bool oob_message_handling_allowed_; | 208 bool oob_message_handling_allowed_; |
204 intptr_t live_ports_; // The number of open ports, including control ports. | 209 intptr_t live_ports_; // The number of open ports, including control ports. |
205 intptr_t paused_; // The number of pause messages received. | 210 intptr_t paused_; // The number of pause messages received. |
206 bool pause_on_start_; | 211 bool pause_on_start_; |
207 bool pause_on_exit_; | 212 bool pause_on_exit_; |
208 bool paused_on_start_; | 213 bool paused_on_start_; |
209 bool paused_on_exit_; | 214 bool paused_on_exit_; |
| 215 int64_t paused_timestamp_; |
210 ThreadPool* pool_; | 216 ThreadPool* pool_; |
211 ThreadPool::Task* task_; | 217 ThreadPool::Task* task_; |
212 StartCallback start_callback_; | 218 StartCallback start_callback_; |
213 EndCallback end_callback_; | 219 EndCallback end_callback_; |
214 CallbackData callback_data_; | 220 CallbackData callback_data_; |
215 | 221 |
216 DISALLOW_COPY_AND_ASSIGN(MessageHandler); | 222 DISALLOW_COPY_AND_ASSIGN(MessageHandler); |
217 }; | 223 }; |
218 | 224 |
219 } // namespace dart | 225 } // namespace dart |
220 | 226 |
221 #endif // VM_MESSAGE_HANDLER_H_ | 227 #endif // VM_MESSAGE_HANDLER_H_ |
OLD | NEW |