Index: runtime/vm/dart_api_impl.cc |
diff --git a/runtime/vm/dart_api_impl.cc b/runtime/vm/dart_api_impl.cc |
index b23cdb0242af685df616292a2cbd90d08f7a1bc9..bc8d3ea384dcd685ea2d8e2d841b37efc1455abc 100644 |
--- a/runtime/vm/dart_api_impl.cc |
+++ b/runtime/vm/dart_api_impl.cc |
@@ -730,6 +730,19 @@ DART_EXPORT bool Dart_PostIntArray(Dart_Port port_id, |
} |
+DART_EXPORT bool Dart_PostCMessage(Dart_Port port_id, |
+ Dart_CMessage* message) { |
+ uint8_t* buffer = NULL; |
+ MessageWriter writer(&buffer, allocator); |
+ |
+ writer.WriteCMessage(message->root); |
+ |
+ // Post the message at the given port. |
+ return PortMap::PostMessage(new Message( |
+ port_id, Message::kIllegalPort, buffer, Message::kNormalPriority)); |
+} |
+ |
+ |
DART_EXPORT bool Dart_Post(Dart_Port port_id, Dart_Handle handle) { |
Isolate* isolate = Isolate::Current(); |
CHECK_ISOLATE(isolate); |