diff options
author | Wilmer van der Gaast <wilmer@gaast.net> | 2008-05-24 12:57:47 -0700 |
---|---|---|
committer | Wilmer van der Gaast <wilmer@gaast.net> | 2008-05-24 12:57:47 -0700 |
commit | de8e584d7f4fea214934af094a4df2672d7e0be8 (patch) | |
tree | cbe36460efe2f23edc20501a00e94c97448d0b3d | |
parent | 92998915be47eab17e548af5c3dd43fa4eab9683 (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.conf | 7 | ||||
-rw-r--r-- | conf.c | 2 | ||||
-rw-r--r-- | doc/README | 33 | ||||
-rw-r--r-- | doc/bitlbee.8 | 12 |
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. @@ -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" @@ -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 |