C++ support to return additional status information from Wait and WaitMany.

R=viettrungluu@chromium.org
BUG=365436

Review URL: https://codereview.chromium.org/776283003
diff --git a/mojo/common/message_pump_mojo.h b/mojo/common/message_pump_mojo.h
index 2d91d4c..b313271 100644
--- a/mojo/common/message_pump_mojo.h
+++ b/mojo/common/message_pump_mojo.h
@@ -91,9 +91,11 @@
   // handle has become ready, |false| otherwise.
   bool DoInternalWork(const RunState& run_state, bool block);
 
-  // Removes the first invalid handle. This is called if MojoWaitMany finds an
+  // Removes the given invalid handle. This is called if MojoWaitMany finds an
   // invalid handle.
-  void RemoveFirstInvalidHandle(const WaitState& wait_state);
+  void RemoveInvalidHandle(const WaitState& wait_state,
+                           MojoResult result,
+                           uint32_t result_index);
 
   void SignalControlPipe(const RunState& run_state);