Chromium Code Reviews| Index: mojo/public/cpp/system/message_pipe.h |
| diff --git a/mojo/public/cpp/system/message_pipe.h b/mojo/public/cpp/system/message_pipe.h |
| index fab23e4797849543c1ab14cbc8a595af4e5035d5..60bffaa1b9351e6030e50036d4a1ec963cdb767b 100644 |
| --- a/mojo/public/cpp/system/message_pipe.h |
| +++ b/mojo/public/cpp/system/message_pipe.h |
| @@ -89,6 +89,25 @@ inline MojoResult ReadMessageRaw(MessagePipeHandle message_pipe, |
| message_pipe.value(), bytes, num_bytes, handles, num_handles, flags); |
| } |
| +// Fuses two message pipes together at the given handles. See |
| +// |MojoFuseMessagePipes()| for complete documentation. Note that this may |
| +// reset the passed handle arguments on success or unrecoverable failure. |
| +inline MojoResult FuseMessagePipes(ScopedMessagePipeHandle *message_pipe0, |
|
yzshen1
2016/03/10 23:49:03
nit: * should be adjacent to the type, instead of
Ken Rockot(use gerrit already)
2016/03/11 00:32:46
WontFix - obsolete :)
|
| + ScopedMessagePipeHandle *message_pipe1) { |
| + MojoResult result = MojoFuseMessagePipes(message_pipe0->get().value(), |
| + message_pipe1->get().value()); |
| + if (result == MOJO_RESULT_INVALID_ARGUMENT) |
| + return result; |
| + |
| + CHECK(result == MOJO_RESULT_FAILED_PRECONDITION || result == MOJO_RESULT_OK); |
| + |
| + // The handles were closed internally. |
| + (void)message_pipe0->release(); |
| + (void)message_pipe1->release(); |
| + |
| + return result; |
| +} |
| + |
| // A wrapper class that automatically creates a message pipe and owns both |
| // handles. |
| class MessagePipe { |