]> jfr.im git - irc/rqf/shadowircd.git/blobdiff - src/s_serv.c
[svn] - remove ALL braindead 2.8 I/O artifacts: MASTER_MAX, HARD_FDLIMIT, HARD_FDLIMI...
[irc/rqf/shadowircd.git] / src / s_serv.c
index 9df924d6b65512e72d764d39d6bd56f03ba28df8..86b4bfe6a69a93fdee092a6b218ce6fd37d98a06 100644 (file)
@@ -21,7 +21,7 @@
  *  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307
  *  USA
  *
- *  $Id: s_serv.c 3183 2007-02-01 01:07:42Z jilles $
+ *  $Id: s_serv.c 3354 2007-04-03 09:21:31Z nenolod $
  */
 
 #include "stdinc.h"
@@ -1368,8 +1368,10 @@ fork_server(struct Client *server)
                goto fork_error;
        else if(ret == 0)
        {
+               int maxconn = comm_get_maxconnections();
+
                /* set our fds as non blocking and close everything else */
-               for (i = 0; i < HARD_FDLIMIT; i++)
+               for (i = 0; i < maxconn; i++)
                {
                                
 
@@ -1631,6 +1633,7 @@ serv_connect_callback(int fd, int status, void *data)
        struct Client *client_p = data;
        struct server_conf *server_p;
        char *errstr;
+       fde_t *F = comm_locate_fd(fd);
 
        /* First, make sure its a real client! */
        s_assert(client_p != NULL);
@@ -1649,9 +1652,9 @@ serv_connect_callback(int fd, int status, void *data)
        }
 
        /* Next, for backward purposes, record the ip of the server */
-       memcpy(&client_p->localClient->ip, &fd_table[fd].connect.hostaddr, sizeof client_p->localClient->ip);
+       memcpy(&client_p->localClient->ip, &F->connect.hostaddr, sizeof client_p->localClient->ip);
        /* Set sockhost properly now -- jilles */
-       inetntop_sock((struct sockaddr *)&fd_table[fd].connect.hostaddr,
+       inetntop_sock((struct sockaddr *)&F->connect.hostaddr,
                        client_p->sockhost, sizeof client_p->sockhost);
        
        /* Check the status */