| Index: runtime/lib/isolate.cc
|
| ===================================================================
|
| --- runtime/lib/isolate.cc (revision 1904)
|
| +++ runtime/lib/isolate.cc (working copy)
|
| @@ -87,7 +87,8 @@
|
| RawInstance* ReceivePortCreate(intptr_t port_id) {
|
| const String& class_name =
|
| String::Handle(String::NewSymbol("ReceivePortImpl"));
|
| - const String& function_name = String::Handle(String::NewSymbol("create_"));
|
| + const String& function_name =
|
| + String::Handle(String::NewSymbol("_get_or_create"));
|
| const int kNumArguments = 1;
|
| const Array& kNoArgumentNames = Array::Handle();
|
| const Function& function = Function::Handle(
|
| @@ -105,6 +106,8 @@
|
| UnhandledException& uhe = UnhandledException::Handle();
|
| uhe ^= result.raw();
|
| ProcessUnhandledException(uhe);
|
| + } else {
|
| + PortMap::SetLive(port_id);
|
| }
|
| return result.raw();
|
| }
|
| @@ -112,7 +115,7 @@
|
|
|
| static RawInstance* SendPortCreate(intptr_t port_id) {
|
| const String& class_name = String::Handle(String::NewSymbol("SendPortImpl"));
|
| - const String& function_name = String::Handle(String::NewSymbol("create_"));
|
| + const String& function_name = String::Handle(String::NewSymbol("_create"));
|
| const int kNumArguments = 1;
|
| const Array& kNoArgumentNames = Array::Handle();
|
| const Function& function = Function::Handle(
|
| @@ -276,7 +279,7 @@
|
| // Check arguments to see if the specified library and classes are
|
| // loaded, this check will throw an exception if they are not loaded.
|
| if (init_successful && CheckArguments(library_url, class_name)) {
|
| - port_id = PortMap::CreatePort();
|
| + port_id = spawned_isolate->main_port();
|
| uword data = reinterpret_cast<uword>(
|
| new IsolateStartData(spawned_isolate,
|
| strdup(library_url),
|
|
|