diff options
author | hubbe@chromium.org <hubbe@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2013-10-10 21:12:14 +0000 |
---|---|---|
committer | hubbe@chromium.org <hubbe@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2013-10-10 21:12:14 +0000 |
commit | 6b47b4d5738da9dd70db9f638f7858dd12da86da (patch) | |
tree | b73c04bc351ba43dbd8b54eeeacb3729047b8630 /ipc/ipc_channel.h | |
parent | e31473843740b48df1f8f0969101e39b8ecf14da (diff) | |
download | chromium_src-6b47b4d5738da9dd70db9f638f7858dd12da86da.zip chromium_src-6b47b4d5738da9dd70db9f638f7858dd12da86da.tar.gz chromium_src-6b47b4d5738da9dd70db9f638f7858dd12da86da.tar.bz2 |
Alternative workaround for mac kernel bug.
BUG=298276
Review URL: https://codereview.chromium.org/25325002
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@227999 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'ipc/ipc_channel.h')
-rw-r--r-- | ipc/ipc_channel.h | 23 |
1 files changed, 15 insertions, 8 deletions
diff --git a/ipc/ipc_channel.h b/ipc/ipc_channel.h index f65a62b..7e09a80 100644 --- a/ipc/ipc_channel.h +++ b/ipc/ipc_channel.h @@ -75,15 +75,22 @@ class IPC_EXPORT Channel : public Sender { #endif }; - // The Hello message is internal to the Channel class. It is sent - // by the peer when the channel is connected. The message contains - // just the process id (pid). The message has a special routing_id - // (MSG_ROUTING_NONE) and type (HELLO_MESSAGE_TYPE). + // Messages internal to the IPC implementation are defined here. + // Uses Maximum value of message type (uint16), to avoid conflicting + // with normal message types, which are enumeration constants starting from 0. enum { - HELLO_MESSAGE_TYPE = kuint16max // Maximum value of message type (uint16), - // to avoid conflicting with normal - // message types, which are enumeration - // constants starting from 0. + // The Hello message is sent by the peer when the channel is connected. + // The message contains just the process id (pid). + // The message has a special routing_id (MSG_ROUTING_NONE) + // and type (HELLO_MESSAGE_TYPE). + HELLO_MESSAGE_TYPE = kuint16max, + // The CLOSE_FD_MESSAGE_TYPE is used in the IPC class to + // work around a bug in sendmsg() on Mac. When an FD is sent + // over the socket, a CLOSE_FD_MESSAGE is sent with hops = 2. + // The client will return the message with hops = 1, *after* it + // has received the message that contains the FD. When we + // receive it again on the sender side, we close the FD. + CLOSE_FD_MESSAGE_TYPE = HELLO_MESSAGE_TYPE - 1 }; // The maximum message size in bytes. Attempting to receive a message of this |