| Index: runtime/include/dart_api.h
 | 
| ===================================================================
 | 
| --- runtime/include/dart_api.h	(revision 3557)
 | 
| +++ runtime/include/dart_api.h	(working copy)
 | 
| @@ -424,81 +424,42 @@
 | 
|  // --- Messages and Ports ---
 | 
|  
 | 
|  /**
 | 
| - * Messages are used to communicate between isolates.
 | 
| - */
 | 
| -typedef struct _Dart_Message* Dart_Message;
 | 
| -
 | 
| -/**
 | 
|   * A port is used to send or receive inter-isolate messages
 | 
|   */
 | 
|  typedef int64_t Dart_Port;
 | 
|  
 | 
| -const Dart_Port kNoReplyPort = 0;
 | 
| -
 | 
|  /**
 | 
| - * A message posting callback.
 | 
| + * A message notification callback.
 | 
|   *
 | 
| - * This callback allows the embedder to provide an alternate delivery
 | 
| - * mechanism for inter-isolate messages. It is the responsibility of
 | 
| - * the embedder to call Dart_HandleMessage to process the message.
 | 
| - *
 | 
| - * If there is no reply port, then the constant 'kNoReplyPort' is
 | 
| - * passed as the 'reply_port' parameter.
 | 
| - *
 | 
| - * The memory pointed to by 'message' has been allocated by malloc. It
 | 
| - * is the responsibility of the callback to ensure that free(message)
 | 
| - * is called once the message has been processed.
 | 
| - *
 | 
| - * The callback should return false if it runs into a problem
 | 
| - * processing this message.
 | 
| + * This callback allows the embedder to provide an alternate wakeup
 | 
| + * mechanism for the delivery of inter-isolate messages.  It is the
 | 
| + * responsibility of the embedder to call Dart_HandleMessage to
 | 
| + * process the message.
 | 
|   */
 | 
| -typedef bool (*Dart_PostMessageCallback)(Dart_Isolate dest_isolate,
 | 
| -                                         Dart_Port dest_port_id,
 | 
| -                                         Dart_Port reply_port_id,
 | 
| -                                         Dart_Message message);
 | 
| -// TODO(turnidge): Add a Dart_ReleaseMessage to hide allocation details.
 | 
| +typedef void (*Dart_MessageNotifyCallback)(Dart_Isolate dest_isolate);
 | 
|  
 | 
| -const Dart_Port kCloseAllPorts = 0;
 | 
| -
 | 
|  /**
 | 
| - * A close port callback.
 | 
| + * Allows embedders to provide an alternative wakeup mechanism for the
 | 
| + * delivery of inter-isolate messages. This setting only applies to
 | 
| + * the current isolate.
 | 
|   *
 | 
| - * This callback allows the embedder to receive notification when a
 | 
| - * port is closed. The constant 'kCloseAllPorts' is passed as the
 | 
| - * 'port' parameter when all active ports are being closed at once.
 | 
| - */
 | 
| -typedef void (*Dart_ClosePortCallback)(Dart_Isolate isolate,
 | 
| -                                       Dart_Port port_id);
 | 
| -
 | 
| -/**
 | 
| - * Allows embedders to provide an alternative mechanism for sending
 | 
| - * inter-isolate messages. This setting only applies to the current
 | 
| - * isolate.
 | 
| - *
 | 
|   * Most embedders will only call this function once, before isolate
 | 
|   * execution begins. If this function is called after isolate
 | 
|   * execution begins, the embedder is responsible for threading issues.
 | 
|   */
 | 
| -DART_EXPORT void Dart_SetMessageCallbacks(
 | 
| -    Dart_PostMessageCallback post_message_callback,
 | 
| -    Dart_ClosePortCallback close_port_callback);
 | 
| +DART_EXPORT void Dart_SetMessageNotifyCallback(
 | 
| +    Dart_MessageNotifyCallback message_notify_callback);
 | 
|  // TODO(turnidge): Consider moving this to isolate creation so that it
 | 
|  // is impossible to mess up.
 | 
|  
 | 
|  /**
 | 
| - * Handles a message on the current isolate.
 | 
| + * Handles the next pending message for the current isolate.
 | 
|   *
 | 
|   * May generate an unhandled exception error.
 | 
|   *
 | 
| - * Note that this function does not free the memory associated with
 | 
| - * 'dart_message'.
 | 
| - *
 | 
|   * \return A valid handle if no error occurs during the operation.
 | 
|   */
 | 
| -DART_EXPORT Dart_Handle Dart_HandleMessage(Dart_Port dest_port_id,
 | 
| -                                           Dart_Port reply_port_id,
 | 
| -                                           Dart_Message dart_message);
 | 
| -// TODO(turnidge): Revisit memory management of 'dart_message'.
 | 
| +DART_EXPORT Dart_Handle Dart_HandleMessage();
 | 
|  
 | 
|  /**
 | 
|   * Processes any incoming messages for the current isolate.
 | 
| 
 |