changeset 259:0b3fcc5ed8eb

Socket: forget to add address in recvfrom
author David Demelier <markand@malikania.fr>
date Sun, 05 Oct 2014 11:48:39 +0200
parents 4ad3c85ab73e
children 2096edb63a4f
files C++/Socket.cpp C++/SocketListener.cpp
diffstat 2 files changed, 4 insertions(+), 0 deletions(-) [+]
line wrap: on
line diff
--- a/C++/Socket.cpp	Sun Oct 05 11:00:16 2014 +0200
+++ b/C++/Socket.cpp	Sun Oct 05 11:48:39 2014 +0200
@@ -241,6 +241,8 @@
 	addrlen = sizeof (struct sockaddr_storage);
 	nbread = ::recvfrom(s.handle(), (Socket::Arg)data, dataLen, 0, (sockaddr *)&address, &addrlen);
 
+	info = SocketAddress(address, addrlen);
+
 	if (nbread == SOCKET_ERROR) {
 #if defined(_WIN32)
 		if (WSAGetLastError() == WSAEWOULDBLOCK)
--- a/C++/SocketListener.cpp	Sun Oct 05 11:00:16 2014 +0200
+++ b/C++/SocketListener.cpp	Sun Oct 05 11:48:39 2014 +0200
@@ -255,6 +255,8 @@
 	for (auto &fd : m_fds)
 		if (fd.revents != 0)
 			return { m_lookup[fd.fd], todirection(fd.revents) };
+
+	throw error::Failure("no socket found");
 }
 
 } // !namespace