--- deliantra/server/socket/init.C 2007/04/02 18:55:22 1.43 +++ deliantra/server/socket/init.C 2007/04/27 02:43:04 1.44 @@ -58,8 +58,7 @@ client::client (int fd, const char *peername) : fd (fd), host (strdup (peername)), socket_ev (this, &client::socket_cb), - cmd_ev (this, &client::cmd_cb), - cc_inv (this), cc_other (this) + cmd_ev (this, &client::cmd_cb) { refcnt_inc (); // the socket is an external reference @@ -68,7 +67,7 @@ { struct linger linger_opt; - linger_opt.l_onoff = 0; + linger_opt.l_onoff = 0; linger_opt.l_linger = 0; if (setsockopt (fd, SOL_SOCKET, SO_LINGER, &linger_opt, sizeof (struct linger))) @@ -92,13 +91,13 @@ // set some very aggressive keepalive parameters #ifdef TCP_KEEPIDLE - val = 10; + val = 1; if (setsockopt (fd, IPPROTO_TCP, TCP_KEEPIDLE, &val, sizeof (val))) LOG (llevError, "TCP_KEEPIDLE: %s\n", strerror (errno)); #endif #ifdef TCP_KEEPCNT - val = 5; + val = 3; if (setsockopt (fd, IPPROTO_TCP, TCP_KEEPCNT, &val, sizeof (val))) LOG (llevError, "TCP_KEEPCNT: %s\n", strerror (errno)); #endif