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

Side by Side Diff: runtime/vm/service.cc

Issue 1756393002: Fix some service protocol isolate lifecycle races (Closed) Base URL: git@github.com:dart-lang/sdk.git@master
Patch Set: Created 4 years, 9 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 | « runtime/vm/isolate.cc ('k') | runtime/vm/service/service.md » ('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) 2013, the Dart project authors. Please see the AUTHORS file 1 // Copyright (c) 2013, 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.h" 5 #include "vm/service.h"
6 6
7 #include "include/dart_api.h" 7 #include "include/dart_api.h"
8 #include "include/dart_native_api.h" 8 #include "include/dart_native_api.h"
9 #include "platform/globals.h" 9 #include "platform/globals.h"
10 10
(...skipping 2996 matching lines...) Expand 10 before | Expand all | Expand 10 after
3007 } 3007 }
3008 isolate->message_handler()->set_should_pause_on_start(false); 3008 isolate->message_handler()->set_should_pause_on_start(false);
3009 isolate->SetResumeRequest(); 3009 isolate->SetResumeRequest();
3010 if (Service::debug_stream.enabled()) { 3010 if (Service::debug_stream.enabled()) {
3011 ServiceEvent event(isolate, ServiceEvent::kResume); 3011 ServiceEvent event(isolate, ServiceEvent::kResume);
3012 Service::HandleEvent(&event); 3012 Service::HandleEvent(&event);
3013 } 3013 }
3014 PrintSuccess(js); 3014 PrintSuccess(js);
3015 return true; 3015 return true;
3016 } 3016 }
3017 if (isolate->message_handler()->should_pause_on_start()) {
3018 isolate->message_handler()->set_should_pause_on_start(false);
3019 isolate->SetResumeRequest();
3020 if (Service::debug_stream.enabled()) {
3021 ServiceEvent event(isolate, ServiceEvent::kResume);
3022 Service::HandleEvent(&event);
3023 }
3024 PrintSuccess(js);
3025 return true;
3026 }
3017 if (isolate->message_handler()->is_paused_on_exit()) { 3027 if (isolate->message_handler()->is_paused_on_exit()) {
3018 isolate->message_handler()->set_should_pause_on_exit(false); 3028 isolate->message_handler()->set_should_pause_on_exit(false);
3019 isolate->SetResumeRequest(); 3029 isolate->SetResumeRequest();
3020 // We don't send a resume event because we will be exiting. 3030 // We don't send a resume event because we will be exiting.
3021 PrintSuccess(js); 3031 PrintSuccess(js);
3022 return true; 3032 return true;
3023 } 3033 }
3024 if (isolate->debugger()->PauseEvent() != NULL) { 3034 if (isolate->debugger()->PauseEvent() != NULL) {
3025 if (step_param != NULL) { 3035 if (step_param != NULL) {
3026 if (strcmp(step_param, "Into") == 0) { 3036 if (strcmp(step_param, "Into") == 0) {
(...skipping 1069 matching lines...) Expand 10 before | Expand all | Expand 10 after
4096 if (strcmp(method_name, method.name) == 0) { 4106 if (strcmp(method_name, method.name) == 0) {
4097 return &method; 4107 return &method;
4098 } 4108 }
4099 } 4109 }
4100 return NULL; 4110 return NULL;
4101 } 4111 }
4102 4112
4103 #endif // !PRODUCT 4113 #endif // !PRODUCT
4104 4114
4105 } // namespace dart 4115 } // namespace dart
OLDNEW
« no previous file with comments | « runtime/vm/isolate.cc ('k') | runtime/vm/service/service.md » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698