OLD | NEW |
1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #include "content/common/unix_domain_socket_posix.h" | 5 #include "content/common/unix_domain_socket_posix.h" |
6 | 6 |
7 #include <errno.h> | 7 #include <errno.h> |
8 #include <unistd.h> | 8 #include <unistd.h> |
9 #include <sys/uio.h> | 9 #include <sys/uio.h> |
10 #include <sys/socket.h> | 10 #include <sys/socket.h> |
11 | 11 |
12 #include "base/eintr_wrapper.h" | 12 #include "base/eintr_wrapper.h" |
13 #include "base/logging.h" | 13 #include "base/logging.h" |
14 #include "base/pickle.h" | 14 #include "base/pickle.h" |
15 #include "base/stl_util-inl.h" | 15 #include "base/stl_util.h" |
16 | 16 |
17 // static | 17 // static |
18 bool UnixDomainSocket::SendMsg(int fd, | 18 bool UnixDomainSocket::SendMsg(int fd, |
19 const void* buf, | 19 const void* buf, |
20 size_t length, | 20 size_t length, |
21 const std::vector<int>& fds) { | 21 const std::vector<int>& fds) { |
22 struct msghdr msg; | 22 struct msghdr msg; |
23 memset(&msg, 0, sizeof(msg)); | 23 memset(&msg, 0, sizeof(msg)); |
24 struct iovec iov = {const_cast<void*>(buf), length}; | 24 struct iovec iov = {const_cast<void*>(buf), length}; |
25 msg.msg_iov = &iov; | 25 msg.msg_iov = &iov; |
(...skipping 111 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
137 NOTREACHED(); | 137 NOTREACHED(); |
138 | 138 |
139 return -1; | 139 return -1; |
140 } | 140 } |
141 | 141 |
142 if (result_fd) | 142 if (result_fd) |
143 *result_fd = fd_vector.empty() ? -1 : fd_vector[0]; | 143 *result_fd = fd_vector.empty() ? -1 : fd_vector[0]; |
144 | 144 |
145 return reply_len; | 145 return reply_len; |
146 } | 146 } |
OLD | NEW |