X-Git-Url: http://developer.intra2net.com/git/?p=libt2n;a=blobdiff_plain;f=src%2Fsocket_server.cpp;fp=src%2Fsocket_server.cpp;h=1d18fd2025c4f3191001173bab55bd7c13d650c4;hp=18bb722e6caa2e9a066da3a786e71f6106a72d20;hb=1fdd03d219ebc40bf0ec17fdfea4bf1a20666e3a;hpb=673142e5d06e88b5fe4c9f6d839fa1658c850a07 diff --git a/src/socket_server.cpp b/src/socket_server.cpp index 18bb722..1d18fd2 100644 --- a/src/socket_server.cpp +++ b/src/socket_server.cpp @@ -165,6 +165,7 @@ void socket_server::start_listening() /* clear & insert server sock into the fd_tab to prepare select */ FD_ZERO(&connection_set); FD_SET (sock, &connection_set); + sockets_set.insert(sock); } /// handle a new connection from a client @@ -190,6 +191,7 @@ void socket_server::new_connection() } FD_SET (newsock, &connection_set); + sockets_set.insert(newsock); socket_server_connection *nc=new socket_server_connection(newsock, get_type(), get_default_timeout()); nc->set_socket_options(newsock); @@ -287,6 +289,7 @@ bool socket_server::fill_connection_buffers() void socket_server::remove_connection_socket(int sock) { FD_CLR(sock, &connection_set); + sockets_set.erase(sock); } /**