[svn] - remove the rest of the MAX_CLIENTS stuff. change kqueue implementation accordingly. (needs testing)
This commit is contained in:
parent
6fcb8629ae
commit
631ef23987
25
ChangeLog
25
ChangeLog
|
@ -1,3 +1,28 @@
|
||||||
|
nenolod 2007/04/03 09:21:31 UTC (20070403-3354)
|
||||||
|
Log:
|
||||||
|
- remove ALL braindead 2.8 I/O artifacts: MASTER_MAX, HARD_FDLIMIT, HARD_FDLIMIT_, MAXCONNECTIONS, MAX_CLIENTS, etc.
|
||||||
|
they are ALL gone. all of this stuff is now determined at runtime via getrlimit(2).
|
||||||
|
- due to this, devpoll is broken. i'm not motivated to fix it at the moment.
|
||||||
|
|
||||||
|
|
||||||
|
Changes: Modified:
|
||||||
|
+0 -5 trunk/include/config.h (File Modified)
|
||||||
|
+0 -5 trunk/include/config.h.dist (File Modified)
|
||||||
|
+0 -6 trunk/include/defaults.h (File Modified)
|
||||||
|
+0 -3 trunk/include/m_info.h (File Modified)
|
||||||
|
+21 -7 trunk/libcharybdis/commio.c (File Modified)
|
||||||
|
+2 -0 trunk/libcharybdis/commio.h (File Modified)
|
||||||
|
+1 -2 trunk/libcharybdis/devpoll.c (File Modified)
|
||||||
|
+4 -3 trunk/libcharybdis/poll.c (File Modified)
|
||||||
|
+0 -3 trunk/libcharybdis/select.c (File Modified)
|
||||||
|
+0 -9 trunk/src/ircd.c (File Modified)
|
||||||
|
+23 -26 trunk/src/listener.c (File Modified)
|
||||||
|
+2 -1 trunk/src/restart.c (File Modified)
|
||||||
|
+5 -1 trunk/src/s_auth.c (File Modified)
|
||||||
|
+1 -1 trunk/src/s_conf.c (File Modified)
|
||||||
|
+3 -1 trunk/src/s_serv.c (File Modified)
|
||||||
|
|
||||||
|
|
||||||
jilles 2007/04/02 22:03:08 UTC (20070402-3350)
|
jilles 2007/04/02 22:03:08 UTC (20070402-3350)
|
||||||
Log:
|
Log:
|
||||||
Repair operspy who !#channel, broken by me in r3283.
|
Repair operspy who !#channel, broken by me in r3283.
|
||||||
|
|
19
configure.ac
19
configure.ac
|
@ -1,4 +1,4 @@
|
||||||
dnl $Id: configure.ac 3323 2007-03-30 23:33:43Z jilles $
|
dnl $Id: configure.ac 3356 2007-04-03 09:31:11Z nenolod $
|
||||||
dnl Process this file with autoconf to produce a configure script.
|
dnl Process this file with autoconf to produce a configure script.
|
||||||
|
|
||||||
dnl TODO: clean up all the OpenSSL and shared module checking stuff;
|
dnl TODO: clean up all the OpenSSL and shared module checking stuff;
|
||||||
|
@ -8,7 +8,7 @@ dnl said functions need to be just about as complex as they already are.
|
||||||
AC_PREREQ(2.57)
|
AC_PREREQ(2.57)
|
||||||
|
|
||||||
dnl Sneaky way to get an Id tag into the configure script
|
dnl Sneaky way to get an Id tag into the configure script
|
||||||
AC_COPYRIGHT([$Id: configure.ac 3323 2007-03-30 23:33:43Z jilles $])
|
AC_COPYRIGHT([$Id: configure.ac 3356 2007-04-03 09:31:11Z nenolod $])
|
||||||
|
|
||||||
AC_INIT([charybdis],[2.2.0])
|
AC_INIT([charybdis],[2.2.0])
|
||||||
|
|
||||||
|
@ -987,23 +987,8 @@ AC_HELP_STRING([--with-topiclen=NUMBER],[Set the max topic length to NUMBER (def
|
||||||
fi
|
fi
|
||||||
], [TOPICLEN=390])
|
], [TOPICLEN=390])
|
||||||
|
|
||||||
AC_ARG_WITH(maxclients,
|
|
||||||
AC_HELP_STRING([--with-maxclients=NUMBER],[Maximum number of connections the ircd can handle]),
|
|
||||||
MAX_CLIENTS="$withval", MAX_CLIENTS=3000)
|
|
||||||
|
|
||||||
|
|
||||||
if test "$MAX_CLIENTS" = yes; then
|
|
||||||
MAX_CLIENTS=3000
|
|
||||||
fi
|
|
||||||
|
|
||||||
if test $MAX_CLIENTS -gt 65536; then
|
|
||||||
MAX_CLIENTS=65536
|
|
||||||
AC_MSG_WARN([Max connections cannot be larger than 65536!])
|
|
||||||
fi
|
|
||||||
|
|
||||||
AC_DEFINE_UNQUOTED(TOPICLEN, ${TOPICLEN}, [Maximum topic length (<=390)])
|
AC_DEFINE_UNQUOTED(TOPICLEN, ${TOPICLEN}, [Maximum topic length (<=390)])
|
||||||
AC_DEFINE_UNQUOTED(NICKLEN, (${NICKLEN}+1), [Nickname length])
|
AC_DEFINE_UNQUOTED(NICKLEN, (${NICKLEN}+1), [Nickname length])
|
||||||
AC_DEFINE_UNQUOTED(MAX_CLIENTS, ${MAX_CLIENTS}, [Maximum number of network connections])
|
|
||||||
|
|
||||||
AC_ARG_ENABLE(shared-modules,
|
AC_ARG_ENABLE(shared-modules,
|
||||||
AC_HELP_STRING([--disable-shared-modules],[ Disable shared modules.]),
|
AC_HELP_STRING([--disable-shared-modules],[ Disable shared modules.]),
|
||||||
|
|
|
@ -21,7 +21,7 @@
|
||||||
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
|
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
|
||||||
* USA
|
* USA
|
||||||
*
|
*
|
||||||
* $Id: m_info.h 3354 2007-04-03 09:21:31Z nenolod $
|
* $Id: m_info.h 3356 2007-04-03 09:31:11Z nenolod $
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#ifndef INCLUDED_m_info_h
|
#ifndef INCLUDED_m_info_h
|
||||||
|
@ -90,8 +90,6 @@ Info MyInformation[] = {
|
||||||
{"IPV6", "OFF", 0, "IPv6 Support"},
|
{"IPV6", "OFF", 0, "IPv6 Support"},
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
{"MAX_CLIENTS", "", MAX_CLIENTS, "Default maximum Clients"},
|
|
||||||
|
|
||||||
{"JOIN_LEAVE_COUNT_EXPIRE_TIME", "", JOIN_LEAVE_COUNT_EXPIRE_TIME,
|
{"JOIN_LEAVE_COUNT_EXPIRE_TIME", "", JOIN_LEAVE_COUNT_EXPIRE_TIME,
|
||||||
"Anti SpamBot Parameter"},
|
"Anti SpamBot Parameter"},
|
||||||
|
|
||||||
|
|
|
@ -1 +1 @@
|
||||||
#define SERNO "20070402-3350"
|
#define SERNO "20070403-3354"
|
||||||
|
|
|
@ -189,9 +189,6 @@
|
||||||
/* the system's memory page size */
|
/* the system's memory page size */
|
||||||
#undef MALLOC_PAGESIZE
|
#undef MALLOC_PAGESIZE
|
||||||
|
|
||||||
/* Maximum number of network connections */
|
|
||||||
#undef MAX_CLIENTS
|
|
||||||
|
|
||||||
/* Sizeof member heap. */
|
/* Sizeof member heap. */
|
||||||
#undef MEMBER_HEAP_SIZE
|
#undef MEMBER_HEAP_SIZE
|
||||||
|
|
||||||
|
@ -249,16 +246,16 @@
|
||||||
/* Suffix for shared libraries on this platform. */
|
/* Suffix for shared libraries on this platform. */
|
||||||
#undef SHARED_SUFFIX
|
#undef SHARED_SUFFIX
|
||||||
|
|
||||||
/* The size of a `int', as computed by sizeof. */
|
/* The size of `int', as computed by sizeof. */
|
||||||
#undef SIZEOF_INT
|
#undef SIZEOF_INT
|
||||||
|
|
||||||
/* The size of a `long', as computed by sizeof. */
|
/* The size of `long', as computed by sizeof. */
|
||||||
#undef SIZEOF_LONG
|
#undef SIZEOF_LONG
|
||||||
|
|
||||||
/* The size of a `long long', as computed by sizeof. */
|
/* The size of `long long', as computed by sizeof. */
|
||||||
#undef SIZEOF_LONG_LONG
|
#undef SIZEOF_LONG_LONG
|
||||||
|
|
||||||
/* The size of a `short', as computed by sizeof. */
|
/* The size of `short', as computed by sizeof. */
|
||||||
#undef SIZEOF_SHORT
|
#undef SIZEOF_SHORT
|
||||||
|
|
||||||
/* Define to 1 if sockaddr has a 'sa_len' member. */
|
/* Define to 1 if sockaddr has a 'sa_len' member. */
|
||||||
|
@ -269,7 +266,7 @@
|
||||||
|
|
||||||
/* If using the C implementation of alloca, define if you know the
|
/* If using the C implementation of alloca, define if you know the
|
||||||
direction of stack growth for your system; otherwise it will be
|
direction of stack growth for your system; otherwise it will be
|
||||||
automatically deduced at run-time.
|
automatically deduced at runtime.
|
||||||
STACK_DIRECTION > 0 => grows toward higher addresses
|
STACK_DIRECTION > 0 => grows toward higher addresses
|
||||||
STACK_DIRECTION < 0 => grows toward lower addresses
|
STACK_DIRECTION < 0 => grows toward lower addresses
|
||||||
STACK_DIRECTION = 0 => direction of growth unknown */
|
STACK_DIRECTION = 0 => direction of growth unknown */
|
||||||
|
@ -334,7 +331,7 @@
|
||||||
/* If system does not define sa_family_t, define it here. */
|
/* If system does not define sa_family_t, define it here. */
|
||||||
#undef sa_family_t
|
#undef sa_family_t
|
||||||
|
|
||||||
/* Define to `unsigned' if <sys/types.h> does not define. */
|
/* Define to `unsigned int' if <sys/types.h> does not define. */
|
||||||
#undef size_t
|
#undef size_t
|
||||||
|
|
||||||
/* If we don't have a real socklen_t, unsigned int is good enough. */
|
/* If we don't have a real socklen_t, unsigned int is good enough. */
|
||||||
|
|
|
@ -22,7 +22,7 @@
|
||||||
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
|
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
|
||||||
* USA
|
* USA
|
||||||
*
|
*
|
||||||
* $Id: kqueue.c 3241 2007-03-05 17:52:28Z jilles $
|
* $Id: kqueue.c 3356 2007-04-03 09:31:11Z nenolod $
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include "stdinc.h"
|
#include "stdinc.h"
|
||||||
|
@ -30,8 +30,6 @@
|
||||||
|
|
||||||
#include "libcharybdis.h"
|
#include "libcharybdis.h"
|
||||||
|
|
||||||
#define KE_LENGTH MAX_CLIENTS
|
|
||||||
|
|
||||||
/* jlemon goofed up and didn't add EV_SET until fbsd 4.3 */
|
/* jlemon goofed up and didn't add EV_SET until fbsd 4.3 */
|
||||||
|
|
||||||
#ifndef EV_SET
|
#ifndef EV_SET
|
||||||
|
@ -199,9 +197,13 @@ int
|
||||||
comm_select(unsigned long delay)
|
comm_select(unsigned long delay)
|
||||||
{
|
{
|
||||||
int num, i;
|
int num, i;
|
||||||
static struct kevent ke[KE_LENGTH];
|
static struct kevent *ke = NULL;
|
||||||
struct timespec poll_time;
|
struct timespec poll_time;
|
||||||
|
|
||||||
|
/* allocate ke if it has not been allocated already */
|
||||||
|
if (ke == NULL)
|
||||||
|
ke = MyMalloc(sizeof(struct kevent) * comm_get_maxconnections());
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* remember we are doing NANOseconds here, not micro/milli. God knows
|
* remember we are doing NANOseconds here, not micro/milli. God knows
|
||||||
* why jlemon used a timespec, but hey, he wrote the interface, not I
|
* why jlemon used a timespec, but hey, he wrote the interface, not I
|
||||||
|
|
Loading…
Reference in New Issue