| Index: runtime/vm/dart_api_impl.cc
|
| ===================================================================
|
| --- runtime/vm/dart_api_impl.cc (revision 1518)
|
| +++ runtime/vm/dart_api_impl.cc (working copy)
|
| @@ -275,12 +275,15 @@
|
|
|
|
|
| DART_EXPORT void Dart_SetMessageCallbacks(
|
| + Dart_CreatePortCallback create_port_callback,
|
| Dart_PostMessageCallback post_message_callback,
|
| Dart_ClosePortCallback close_port_callback) {
|
| Isolate* isolate = Isolate::Current();
|
| ASSERT(isolate != NULL);
|
| + ASSERT(create_port_callback != NULL);
|
| ASSERT(post_message_callback != NULL);
|
| ASSERT(close_port_callback != NULL);
|
| + isolate->set_create_port_callback(create_port_callback);
|
| isolate->set_post_message_callback(post_message_callback);
|
| isolate->set_close_port_callback(close_port_callback);
|
| }
|
| @@ -1932,6 +1935,18 @@
|
| }
|
|
|
|
|
| +DART_EXPORT Dart_Port Dart_CreatePort() {
|
| + return PortMap::CreatePort();
|
| +}
|
| +
|
| +
|
| +DART_EXPORT bool Dart_IsolateHasActivePorts() {
|
| + Isolate* isolate = Isolate::Current();
|
| + ASSERT(isolate);
|
| + return isolate->active_ports() > 0;
|
| +}
|
| +
|
| +
|
| static uint8_t* allocator(uint8_t* ptr, intptr_t old_size, intptr_t new_size) {
|
| void* new_ptr = realloc(reinterpret_cast<void*>(ptr), new_size);
|
| return reinterpret_cast<uint8_t*>(new_ptr);
|
|
|