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

Side by Side Diff: native_client_sdk/src/libraries/nacl_io/kernel_handle.cc

Issue 303223007: [NaCl SDK] nacl_io: Run clang-format over nacl_io sources. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 6 years, 6 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 unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 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 "nacl_io/kernel_handle.h" 5 #include "nacl_io/kernel_handle.h"
6 6
7 #include <errno.h> 7 #include <errno.h>
8 #include <pthread.h> 8 #include <pthread.h>
9 9
10 #include "nacl_io/filesystem.h" 10 #include "nacl_io/filesystem.h"
11 #include "nacl_io/node.h" 11 #include "nacl_io/node.h"
12 #include "nacl_io/osunistd.h" 12 #include "nacl_io/osunistd.h"
13 #include "nacl_io/socket/socket_node.h" 13 #include "nacl_io/socket/socket_node.h"
14 14
15 #include "sdk_util/auto_lock.h" 15 #include "sdk_util/auto_lock.h"
16 16
17 namespace nacl_io { 17 namespace nacl_io {
18 18
19 // It is only legal to construct a handle while the kernel lock is held. 19 // It is only legal to construct a handle while the kernel lock is held.
20 KernelHandle::KernelHandle() : filesystem_(NULL), node_(NULL) {} 20 KernelHandle::KernelHandle() : filesystem_(NULL), node_(NULL) {
21 }
21 22
22 KernelHandle::KernelHandle(const ScopedFilesystem& fs, const ScopedNode& node) 23 KernelHandle::KernelHandle(const ScopedFilesystem& fs, const ScopedNode& node)
23 : filesystem_(fs), node_(node) {} 24 : filesystem_(fs), node_(node) {
25 }
24 26
25 KernelHandle::~KernelHandle() { 27 KernelHandle::~KernelHandle() {
26 // Force release order for cases where filesystem_ is not ref'd by mounting. 28 // Force release order for cases where filesystem_ is not ref'd by mounting.
27 node_.reset(NULL); 29 node_.reset(NULL);
28 filesystem_.reset(NULL); 30 filesystem_.reset(NULL);
29 } 31 }
30 32
31 // Returns the SocketNode* if this node is a socket. 33 // Returns the SocketNode* if this node is a socket.
32 SocketNode* KernelHandle::socket_node() { 34 SocketNode* KernelHandle::socket_node() {
33 if (node_.get() && node_->IsaSock()) 35 if (node_.get() && node_->IsaSock())
(...skipping 112 matching lines...) Expand 10 before | Expand all | Expand 10 after
146 const int mutable_flags = O_ASYNC | O_NONBLOCK; 148 const int mutable_flags = O_ASYNC | O_NONBLOCK;
147 flags &= mutable_flags; 149 flags &= mutable_flags;
148 handle_attr_.flags &= ~mutable_flags; 150 handle_attr_.flags &= ~mutable_flags;
149 handle_attr_.flags |= flags; 151 handle_attr_.flags |= flags;
150 return 0; 152 return 0;
151 } 153 }
152 } 154 }
153 return ENOSYS; 155 return ENOSYS;
154 } 156 }
155 157
156 Error KernelHandle::Accept(PP_Resource* new_sock, struct sockaddr* addr, 158 Error KernelHandle::Accept(PP_Resource* new_sock,
159 struct sockaddr* addr,
157 socklen_t* len) { 160 socklen_t* len) {
158 SocketNode* sock = socket_node(); 161 SocketNode* sock = socket_node();
159 if (!sock) 162 if (!sock)
160 return ENOTSOCK; 163 return ENOTSOCK;
161 164
162 AUTO_LOCK(handle_lock_); 165 AUTO_LOCK(handle_lock_);
163 return sock->Accept(handle_attr_, new_sock, addr, len); 166 return sock->Accept(handle_attr_, new_sock, addr, len);
164 } 167 }
165 168
166 Error KernelHandle::Connect(const struct sockaddr* addr, socklen_t len) { 169 Error KernelHandle::Connect(const struct sockaddr* addr, socklen_t len) {
(...skipping 26 matching lines...) Expand all
193 if (!sock) 196 if (!sock)
194 return ENOTSOCK; 197 return ENOTSOCK;
195 if (OpenMode() == O_WRONLY) 198 if (OpenMode() == O_WRONLY)
196 return EACCES; 199 return EACCES;
197 200
198 AUTO_LOCK(handle_lock_); 201 AUTO_LOCK(handle_lock_);
199 return sock->RecvFrom(handle_attr_, buf, len, flags, src_addr, addrlen, 202 return sock->RecvFrom(handle_attr_, buf, len, flags, src_addr, addrlen,
200 out_len); 203 out_len);
201 } 204 }
202 205
203 Error KernelHandle::Send(const void* buf, 206 Error KernelHandle::Send(const void* buf, size_t len, int flags, int* out_len) {
204 size_t len,
205 int flags,
206 int* out_len) {
207 SocketNode* sock = socket_node(); 207 SocketNode* sock = socket_node();
208 if (!sock) 208 if (!sock)
209 return ENOTSOCK; 209 return ENOTSOCK;
210 if (OpenMode() == O_RDONLY) 210 if (OpenMode() == O_RDONLY)
211 return EACCES; 211 return EACCES;
212 212
213 AUTO_LOCK(handle_lock_); 213 AUTO_LOCK(handle_lock_);
214 return sock->Send(handle_attr_, buf, len, flags, out_len); 214 return sock->Send(handle_attr_, buf, len, flags, out_len);
215 } 215 }
216 216
217 Error KernelHandle::SendTo(const void* buf, 217 Error KernelHandle::SendTo(const void* buf,
218 size_t len, 218 size_t len,
219 int flags, 219 int flags,
220 const struct sockaddr* dest_addr, 220 const struct sockaddr* dest_addr,
221 socklen_t addrlen, 221 socklen_t addrlen,
222 int* out_len) { 222 int* out_len) {
223 SocketNode* sock = socket_node(); 223 SocketNode* sock = socket_node();
224 if (!sock) 224 if (!sock)
225 return ENOTSOCK; 225 return ENOTSOCK;
226 if (OpenMode() == O_RDONLY) 226 if (OpenMode() == O_RDONLY)
227 return EACCES; 227 return EACCES;
228 228
229 AUTO_LOCK(handle_lock_); 229 AUTO_LOCK(handle_lock_);
230 return sock->SendTo(handle_attr_, buf, len, flags, dest_addr, addrlen, 230 return sock->SendTo(handle_attr_, buf, len, flags, dest_addr, addrlen,
231 out_len); 231 out_len);
232 } 232 }
233 233
234 } // namespace nacl_io 234 } // namespace nacl_io
OLDNEW
« no previous file with comments | « native_client_sdk/src/libraries/nacl_io/kernel_handle.h ('k') | native_client_sdk/src/libraries/nacl_io/kernel_intercept.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698