OLD | NEW |
1 // Copyright (c) 2015, the Dart project authors. Please see the AUTHORS file | 1 // Copyright (c) 2015, 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 #include "vm/service_isolate.h" | 5 #include "vm/service_isolate.h" |
6 | 6 |
7 #include "vm/compiler.h" | 7 #include "vm/compiler.h" |
8 #include "vm/dart_api_impl.h" | 8 #include "vm/dart_api_impl.h" |
9 #include "vm/dart_entry.h" | 9 #include "vm/dart_entry.h" |
10 #include "vm/isolate.h" | 10 #include "vm/isolate.h" |
(...skipping 157 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
168 | 168 |
169 | 169 |
170 Dart_Port ServiceIsolate::Port() { | 170 Dart_Port ServiceIsolate::Port() { |
171 MonitorLocker ml(monitor_); | 171 MonitorLocker ml(monitor_); |
172 return port_; | 172 return port_; |
173 } | 173 } |
174 | 174 |
175 | 175 |
176 Dart_Port ServiceIsolate::WaitForLoadPort() { | 176 Dart_Port ServiceIsolate::WaitForLoadPort() { |
177 MonitorLocker ml(monitor_); | 177 MonitorLocker ml(monitor_); |
| 178 |
178 while (initializing_ && (load_port_ == ILLEGAL_PORT)) { | 179 while (initializing_ && (load_port_ == ILLEGAL_PORT)) { |
179 ml.Wait(); | 180 ml.Wait(); |
180 } | 181 } |
| 182 |
181 return load_port_; | 183 return load_port_; |
182 } | 184 } |
183 | 185 |
184 | 186 |
185 Dart_Port ServiceIsolate::LoadPort() { | 187 Dart_Port ServiceIsolate::LoadPort() { |
186 MonitorLocker ml(monitor_); | 188 MonitorLocker ml(monitor_); |
187 return load_port_; | 189 return load_port_; |
188 } | 190 } |
189 | 191 |
190 | 192 |
(...skipping 356 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
547 port = ReceivePort::Cast(result).Id(); | 549 port = ReceivePort::Cast(result).Id(); |
548 } | 550 } |
549 ASSERT(port != ILLEGAL_PORT); | 551 ASSERT(port != ILLEGAL_PORT); |
550 ServiceIsolate::SetServicePort(port); | 552 ServiceIsolate::SetServicePort(port); |
551 } | 553 } |
552 | 554 |
553 | 555 |
554 void ServiceIsolate::VisitObjectPointers(ObjectPointerVisitor* visitor) {} | 556 void ServiceIsolate::VisitObjectPointers(ObjectPointerVisitor* visitor) {} |
555 | 557 |
556 } // namespace dart | 558 } // namespace dart |
OLD | NEW |