[PATCH v2 02/11] sio: treat EADDRINUSE in sio_listen as error

Vladislav Shpilevoy v.shpilevoy at tarantool.org
Wed Dec 5 00:28:49 MSK 2018


Earlier maybe it made sense - not to throw an error
on EADDRINUSE from listen(), but now it just
complicates exceptions removal.
---
 src/evio.cc | 5 +----
 src/sio.cc  | 2 +-
 2 files changed, 2 insertions(+), 5 deletions(-)

diff --git a/src/evio.cc b/src/evio.cc
index a6ac65daf..9df797c78 100644
--- a/src/evio.cc
+++ b/src/evio.cc
@@ -294,10 +294,7 @@ evio_service_listen(struct evio_service *service)
 		  sio_strfaddr(&service->addr, service->addr_len));
 
 	int fd = service->ev.fd;
-	if (sio_listen(fd)) {
-		/* raise for addr in use to */
-		tnt_raise(SocketError, sio_socketname(fd), "listen");
-	}
+	sio_listen(fd);
 	ev_io_start(service->loop, &service->ev);
 }
 
diff --git a/src/sio.cc b/src/sio.cc
index d79ad5c01..aa44b4912 100644
--- a/src/sio.cc
+++ b/src/sio.cc
@@ -213,7 +213,7 @@ int
 sio_listen(int fd)
 {
 	int rc = listen(fd, sio_listen_backlog());
-	if (rc < 0 && errno != EADDRINUSE)
+	if (rc < 0)
 		tnt_raise(SocketError, sio_socketname(fd), "listen");
 	return rc;
 }
-- 
2.17.2 (Apple Git-113)




More information about the Tarantool-patches mailing list