Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1308)

Unified Diff: base/posix/unix_domain_socket_linux.cc

Issue 240463005: Stop using chrome-sandbox to determine real pids (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Fix an embarassing number of compile errors Created 6 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « base/posix/unix_domain_socket_linux.h ('k') | components/nacl/loader/nacl_helper_linux.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: base/posix/unix_domain_socket_linux.cc
diff --git a/base/posix/unix_domain_socket_linux.cc b/base/posix/unix_domain_socket_linux.cc
index 8bfc8cea7fcf32e5910225e04a62350ccfeb4b82..76b8c4462cb4b8cd73acf21d5b2af1e4c90c7b6e 100644
--- a/base/posix/unix_domain_socket_linux.cc
+++ b/base/posix/unix_domain_socket_linux.cc
@@ -149,9 +149,22 @@ ssize_t UnixDomainSocket::SendRecvMsg(int fd,
unsigned max_reply_len,
int* result_fd,
const Pickle& request) {
- return UnixDomainSocket::SendRecvMsgWithFlags(fd, reply, max_reply_len,
- 0, /* recvmsg_flags */
- result_fd, request);
+ const int recvmsg_flags = 0;
+ const int request_fd = -1;
+ return SendRecvMsgImpl(
+ fd, reply, max_reply_len, recvmsg_flags, result_fd, request, request_fd);
+}
+
+// static
+ssize_t UnixDomainSocket::SendRecvMsgWithFD(int fd,
+ uint8_t* reply,
+ unsigned max_reply_len,
+ int* result_fd,
+ const Pickle& request,
+ int request_fd) {
+ const int recvmsg_flags = 0;
+ return SendRecvMsgImpl(
+ fd, reply, max_reply_len, recvmsg_flags, result_fd, request, request_fd);
}
// static
@@ -161,6 +174,19 @@ ssize_t UnixDomainSocket::SendRecvMsgWithFlags(int fd,
int recvmsg_flags,
int* result_fd,
const Pickle& request) {
+ const int request_fd = -1;
+ return SendRecvMsgImpl(
+ fd, reply, max_reply_len, recvmsg_flags, result_fd, request, request_fd);
+}
+
+// static
+ssize_t UnixDomainSocket::SendRecvMsgImpl(int fd,
+ uint8_t* reply,
+ unsigned max_reply_len,
+ int recvmsg_flags,
+ int* result_fd,
+ const Pickle& request,
+ int request_fd) {
int fds[2];
// This socketpair is only used for the IPC and is cleaned up before
@@ -170,6 +196,8 @@ ssize_t UnixDomainSocket::SendRecvMsgWithFlags(int fd,
std::vector<int> fd_vector;
fd_vector.push_back(fds[1]);
+ if (request_fd != -1)
+ fd_vector.push_back(request_fd);
if (!SendMsg(fd, request.data(), request.size(), fd_vector)) {
close(fds[0]);
close(fds[1]);
« no previous file with comments | « base/posix/unix_domain_socket_linux.h ('k') | components/nacl/loader/nacl_helper_linux.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698