Index: ipc/ipc_channel_posix.h |
diff --git a/ipc/ipc_channel_posix.h b/ipc/ipc_channel_posix.h |
index a65283d3beace7fafdd02f9c74b9acb68ad84b96..4edb6a05fa592c098c3fdc3566622765de1e9a0b 100644 |
--- a/ipc/ipc_channel_posix.h |
+++ b/ipc/ipc_channel_posix.h |
@@ -20,34 +20,6 @@ |
#include "ipc/ipc_channel_reader.h" |
#include "ipc/ipc_message_attachment_set.h" |
-#if !defined(OS_MACOSX) |
-// On Linux, the seccomp sandbox makes it very expensive to call |
-// recvmsg() and sendmsg(). The restriction on calling read() and write(), which |
-// are cheap, is that we can't pass file descriptors over them. |
-// |
-// As we cannot anticipate when the sender will provide us with file |
-// descriptors, we have to make the decision about whether we call read() or |
-// recvmsg() before we actually make the call. The easiest option is to |
-// create a dedicated socketpair() for exchanging file descriptors. Any file |
-// descriptors are split out of a message, with the non-file-descriptor payload |
-// going over the normal connection, and the file descriptors being sent |
-// separately over the other channel. When read()ing from a channel, we'll |
-// notice if the message was supposed to have come with file descriptors and |
-// use recvmsg on the other socketpair to retrieve them and combine them |
-// back with the rest of the message. |
-// |
-// Mac can also run in IPC_USES_READWRITE mode if necessary, but at this time |
-// doesn't take a performance hit from recvmsg and sendmsg, so it doesn't |
-// make sense to waste resources on having the separate dedicated socketpair. |
-// It is however useful for debugging between Linux and Mac to be able to turn |
-// this switch 'on' on the Mac as well. |
-// |
-// The HELLO message from the client to the server is always sent using |
-// sendmsg because it will contain the file descriptor that the server |
-// needs to send file descriptors in later messages. |
-#define IPC_USES_READWRITE 1 |
-#endif |
- |
namespace IPC { |
class IPC_EXPORT ChannelPosix : public Channel, |
@@ -107,14 +79,6 @@ class IPC_EXPORT ChannelPosix : public Channel, |
bool DidEmptyInputBuffers() override; |
void HandleInternalMessage(const Message& msg) override; |
-#if defined(IPC_USES_READWRITE) |
- // Reads the next message from the fd_pipe_ and appends them to the |
- // input_fds_ queue. Returns false if there was a message receiving error. |
- // True means there was a message and it was processed properly, or there was |
- // no messages. |
- bool ReadFileDescriptorsFromFDPipe(); |
-#endif |
- |
// Finds the set of file descriptors in the given message. On success, |
// appends the descriptors to the input_fds_ member and returns true |
// |
@@ -161,12 +125,6 @@ class IPC_EXPORT ChannelPosix : public Channel, |
base::ScopedFD client_pipe_; |
mutable base::Lock client_pipe_lock_; // Lock that protects |client_pipe_|. |
-#if defined(IPC_USES_READWRITE) |
- // Linux/BSD use a dedicated socketpair() for passing file descriptors. |
- base::ScopedFD fd_pipe_; |
- base::ScopedFD remote_fd_pipe_; |
-#endif |
- |
// The "name" of our pipe. On Windows this is the global identifier for |
// the pipe. On POSIX it's used as a key in a local map of file descriptors. |
std::string pipe_name_; |