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

Unified Diff: native_client_sdk/src/libraries/nacl_io/socket/socket_node.cc

Issue 1335783005: [NaCl SDK] nacl_io: Add support for basic socketpairs. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Class renamed/cl-format applied. Created 5 years, 3 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
Index: native_client_sdk/src/libraries/nacl_io/socket/socket_node.cc
diff --git a/native_client_sdk/src/libraries/nacl_io/socket/socket_node.cc b/native_client_sdk/src/libraries/nacl_io/socket/socket_node.cc
index 5ff6f9dcd32d5d3732af18f022284a1c2b8c84a7..b3517de23f4813fcb091382e157dd01bb52079a6 100644
--- a/native_client_sdk/src/libraries/nacl_io/socket/socket_node.cc
+++ b/native_client_sdk/src/libraries/nacl_io/socket/socket_node.cc
@@ -375,6 +375,8 @@ Error SocketNode::RecvFrom(const HandleAttr& attr,
socklen_t* addrlen,
int* out_len) {
PP_Resource addr = 0;
+ if (0 == socket_resource_)
+ return EBADF;
Error err = RecvHelper(attr, buf, len, flags, &addr, out_len);
if (0 == err && 0 != addr) {
if (src_addr)
@@ -392,9 +394,6 @@ Error SocketNode::RecvHelper(const HandleAttr& attr,
int flags,
PP_Resource* addr,
int* out_len) {
- if (0 == socket_resource_)
- return EBADF;
-
if (TestStreamFlags(SSF_RECV_ENDOFSTREAM)) {
*out_len = 0;
return 0;
@@ -429,6 +428,11 @@ Error SocketNode::Send(const HandleAttr& attr,
size_t len,
int flags,
int* out_len) {
+ if (0 == socket_resource_)
+ return EBADF;
+
+ if (0 == remote_addr_)
+ return ENOTCONN;
return SendHelper(attr, buf, len, flags, remote_addr_, out_len);
}
@@ -446,6 +450,9 @@ Error SocketNode::SendTo(const HandleAttr& attr,
if (0 == addr)
return EINVAL;
+ if (0 == socket_resource_)
+ return EBADF;
+
Error err = SendHelper(attr, buf, len, flags, addr, out_len);
filesystem_->ppapi()->ReleaseResource(addr);
return err;
@@ -457,12 +464,6 @@ Error SocketNode::SendHelper(const HandleAttr& attr,
int flags,
PP_Resource addr,
int* out_len) {
- if (0 == socket_resource_)
- return EBADF;
-
- if (0 == addr)
- return ENOTCONN;
-
int ms = write_timeout_;
if ((flags & MSG_DONTWAIT) || !attr.IsBlocking())
ms = 0;

Powered by Google App Engine
This is Rietveld 408576698