aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorWilmer van der Gaast <wilmer@gaast.net>2008-05-24 12:57:47 -0700
committerWilmer van der Gaast <wilmer@gaast.net>2008-05-24 12:57:47 -0700
commitde8e584d7f4fea214934af094a4df2672d7e0be8 (patch)
treecbe36460efe2f23edc20501a00e94c97448d0b3d
parent92998915be47eab17e548af5c3dd43fa4eab9683 (diff)
Daemon mode is not an experiment anymore, it's running on testing.bitlbee.org
for two weeks already with >30 active connections and not a single crash.
-rw-r--r--bitlbee.conf7
-rw-r--r--conf.c2
-rw-r--r--doc/README33
-rw-r--r--doc/bitlbee.812
4 files changed, 12 insertions, 42 deletions
diff --git a/bitlbee.conf b/bitlbee.conf
index c03a564f..5fce2820 100644
--- a/bitlbee.conf
+++ b/bitlbee.conf
@@ -9,10 +9,9 @@
## RunMode:
##
## Inetd -- Run from inetd (default)
-## Daemon -- Run as a stand-alone daemon -- EXPERIMENTAL! BitlBee is not yet
-## stable enough to serve lots of users from one process. Because of this
-## and other reasons, the use of daemon-mode is *STRONGLY* discouraged,
-## don't even *think* of reporting bugs when you use this.
+## Daemon -- Run as a stand-alone daemon, serving all users from one process.
+## This saves memory if there are more users, the downside is that when one
+## user hits a crash-bug, all other users will also lose their connection.
## ForkDaemon -- Run as a stand-alone daemon, but keep all clients in separate
## child processes. This should be pretty safe and reliable to use instead
## of inetd mode.
diff --git a/conf.c b/conf.c
index 8d6291ff..2bdead65 100644
--- a/conf.c
+++ b/conf.c
@@ -131,7 +131,7 @@ conf_t *conf_load( int argc, char *argv[] )
"An IRC-to-other-chat-networks gateway\n"
"\n"
" -I Classic/InetD mode. (Default)\n"
- " -D Daemon mode. (Still EXPERIMENTAL!)\n"
+ " -D Daemon mode. (one process serves all)\n"
" -F Forking daemon. (one process per client)\n"
" -u Run daemon as specified user.\n"
" -P Specify PID-file (not for inetd mode)\n"
diff --git a/doc/README b/doc/README
index ca392573..9e681625 100644
--- a/doc/README
+++ b/doc/README
@@ -55,6 +55,11 @@ it in bitlbee.conf. You probably want to write an init script to start
BitlBee automatically after a reboot. (This is where you realise using
a package from your distro would've been a better idea. :-P)
+Note that the BitlBee code is getting stable enough for daemon mode to be
+useful. Some public servers use it, and it saves a lot of memory by serving
+tens of users from a single process. One crash affects all users, but these
+are becoming quite rare.
+
DEPENDENCIES
============
@@ -99,34 +104,6 @@ versions of make, we'd love to hear it, but it seems this just isn't
possible.
-RUNNING ON SERVERS WITH MANY USERS
-==================================
-
-BitlBee is not yet bug-free. Sometimes a bug causes the program to get into
-an infinite loop. Something you really don't want on a public server,
-especially when that machine is also used for other (mission-critical) things.
-For now we can't do much about it. We haven't seen that happen for a long
-time already on our own machines, but some people still manage to get
-themselves in nasty situations we haven't seen before.
-
-For now the best we can offer against this problem is bitlbeed, which allows
-you to setrlimit() the child processes to use no more than a specified
-number of CPU seconds. Not the best solution (not really a solution anyway),
-but certainly trashing one busy daemon process is better than trashing your
-whole machine.
-
-We don't believe adding a limit for bitlbee to /etc/security/limits.conf will
-work, because that file is only read by PAM (ie just for real login users,
-not daemons).
-
-See utils/bitlbeed.c for more information about the program.
-
-Just a little note: Now that we reach version 1.0, this shouldn't be that
-much of an issue anymore. However, on a public server, especially if you
-also use it for other things, it can't hurt to protect yourself against
-possible problems.
-
-
USAGE
=====
diff --git a/doc/bitlbee.8 b/doc/bitlbee.8
index ae1cfb05..9e634844 100644
--- a/doc/bitlbee.8
+++ b/doc/bitlbee.8
@@ -43,13 +43,8 @@ protocol plugins. BitlBee currently supports Oscar (aim and icq),
MSN, Jabber and Yahoo.
\fBbitlbee\fP should be called by
-.BR inetd (8).
-(Or \fBbitlbeed\fP,
-if you can't run and/or configure \fBinetd\fP.) There is an experimental
-daemon mode too, in which BitlBee will serve all clients in one process
-(and does not require inetd), but this mode is still experimental.
-There are still some bugs left in BitlBee, and if they cause a crash,
-that would terminate the BitlBee connection for all clients.
+.BR inetd (8),
+or you can run it as a stand-alone daemon.
.PP
.SH OPTIONS
.PP
@@ -61,10 +56,9 @@ option.
.IP "-D"
Run in daemon mode. In this mode, BitlBee forks to the background and
waits for new connections. All clients will be served from one process.
-This is still experimental. See the note above for more information.
.IP "-F"
Run in ForkDaemon mode. This is similar to ordinary daemon mode, but every
-client gets its own process. Easier to set up than inetd mode, but without
+client gets its own process. Easier to set up than inetd mode, and without
the possible stability issues.
.IP "-i \fIaddress\fP"
Only useful when running in daemon mode, to specify the network interface