From: <mik...@us...> - 2003-12-27 11:42:42
|
Update of /cvsroot/sharedaemon/sharedaemon-ui-web/src/server/network In directory sc8-pr-cvs1:/tmp/cvs-serv1468/src/server/network Modified Files: ServerSocket.cpp Log Message: 27/12/2003 Mikael Barbeaux * Fixed a bug about rebinding sockets on the same address. Index: ServerSocket.cpp =================================================================== RCS file: /cvsroot/sharedaemon/sharedaemon-ui-web/src/server/network/ServerSocket.cpp,v retrieving revision 1.3 retrieving revision 1.4 diff -u -d -r1.3 -r1.4 --- ServerSocket.cpp 27 Dec 2003 10:27:10 -0000 1.3 +++ ServerSocket.cpp 27 Dec 2003 11:42:39 -0000 1.4 @@ -99,7 +99,7 @@ #ifdef _WIN32_ ::closesocket(server_id); #else - ::close(server_id); + cout << "close " << ::close(server_id) << endl; #endif // Change server socket state @@ -124,6 +124,11 @@ server_id = socket(AF_INET, SOCK_STREAM, 0); if(server_id == -1) throw SocketException(CantCreateSockExcp, "Cannot create server socket.", + "ServerSocket::validate"); + int t = (int) true; + int ret = setsockopt(server_id, SOL_SOCKET, SO_REUSEADDR, &t, sizeof(t)); + if(ret < 0) + throw SocketException(CantCreateSockExcp, "Cannot initialize socket option.", "ServerSocket::validate"); } |