From 642ce6ca77083495d82f40418f11259b6dd91efb Mon Sep 17 00:00:00 2001 From: Christian Helmuth Date: Sat, 2 Apr 2016 20:06:22 +0200 Subject: [PATCH] lxip: correct return type in send/recv socketcall Now, error cases are reported correctly and not as gigantic ssize_t values on 64-bit. --- repos/dde_linux/src/lib/lxip/socket_handler.cc | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/repos/dde_linux/src/lib/lxip/socket_handler.cc b/repos/dde_linux/src/lib/lxip/socket_handler.cc index 10df75e4df..3e85b1e8a0 100644 --- a/repos/dde_linux/src/lib/lxip/socket_handler.cc +++ b/repos/dde_linux/src/lib/lxip/socket_handler.cc @@ -313,7 +313,7 @@ class Net::Socketcall : public Genode::Signal_dispatcher_base, msg.msg_flags |= MSG_DONTWAIT; //XXX: check for non-blocking flag - _result.err = call_socket()->ops->recvmsg(0, call_socket(), &msg, + _result.len = call_socket()->ops->recvmsg(0, call_socket(), &msg, _call.msg.len, _call.msg.flags); @@ -329,8 +329,8 @@ class Net::Socketcall : public Genode::Signal_dispatcher_base, struct msghdr msg; struct iovec iov; - _result.err = socket_check_state(call_socket()); - if (_result.err < 0) + _result.len = socket_check_state(call_socket()); + if (_result.len < 0) return; msg.msg_control = NULL; @@ -346,7 +346,7 @@ class Net::Socketcall : public Genode::Signal_dispatcher_base, if (_call.handle.non_block) msg.msg_flags |= MSG_DONTWAIT; - _result.err = call_socket()->ops->sendmsg(0, call_socket(), &msg, + _result.len = call_socket()->ops->sendmsg(0, call_socket(), &msg, _call.msg.len); }