* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
* USA
*
- * $Id: ircd.c 3249 2007-03-05 18:51:17Z nenolod $
+ * $Id: ircd.c 3380 2007-04-03 22:25:11Z jilles $
*/
#include "stdinc.h"
static void
init_sys(void)
{
-#if defined(RLIMIT_FD_MAX) && defined(HAVE_SYS_RLIMIT_H)
+#if defined(RLIMIT_NOFILE) && defined(HAVE_SYS_RESOURCE_H)
struct rlimit limit;
- if(!getrlimit(RLIMIT_FD_MAX, &limit))
+ if(!getrlimit(RLIMIT_NOFILE, &limit))
{
- if(limit.rlim_max < MAXCONNECTIONS)
- {
- fprintf(stderr, "ircd's bootstrap fd table is too big\n");
- fprintf(stderr, "Hard Limit: %ld bootstrap size: %d\n",
- (long) limit.rlim_max, MAXCONNECTIONS);
- fprintf(stderr, "Fix MAXCONNECTIONS\n");
- exit(-1);
- }
-
limit.rlim_cur = limit.rlim_max; /* make soft limit the max */
- if(setrlimit(RLIMIT_FD_MAX, &limit) == -1)
+ if(setrlimit(RLIMIT_NOFILE, &limit) == -1)
{
fprintf(stderr, "error setting max fd's to %ld\n", (long) limit.rlim_cur);
exit(EXIT_FAILURE);
}
}
-#endif /* RLIMIT_FD_MAX */
+#endif /* RLIMIT_NOFILE */
}
static int
memset(&GlobalSetOptions, 0, sizeof(GlobalSetOptions));
/* memset( &ConfigFileEntry, 0, sizeof(ConfigFileEntry)); */
- GlobalSetOptions.maxclients = MAX_CLIENTS;
+ GlobalSetOptions.maxclients = ServerInfo.max_clients;
GlobalSetOptions.autoconn = 1;
GlobalSetOptions.spam_time = MIN_JOIN_LEAVE_TIME;
}
/* Init the event subsystem */
- libcharybdis_init(ircd_log_cb, restart, ircd_die_cb);
init_sys();
+ libcharybdis_init(ircd_log_cb, restart, ircd_die_cb);
fdlist_init();
if(!server_state_foreground)