summaryrefslogtreecommitdiff
path: root/config
diff options
context:
space:
mode:
authorBrian Cameron <bcameron@src.gnome.org>2006-02-09 20:04:43 +0000
committerBrian Cameron <bcameron@src.gnome.org>2006-02-09 20:04:43 +0000
commit9dbb5bfdb6d063dc98a22403b3095e930dec6ad0 (patch)
tree644d994e5775f8d3f28d9616cc0cbf001488a8b8 /config
parent441eb0bd94c240cce85783ffd30b53e6194d4f97 (diff)
downloadgdm-9dbb5bfdb6d063dc98a22403b3095e930dec6ad0.tar.gz
A known issue with gdmdynamic is that when a display connects to the
A known issue with gdmdynamic is that when a display connects to the server it generates the gdmdynamic "ADD" and "RELEASE" commands. On startup, hundreds of displays could send these commands at once and cause the server too be flooded with sockets requests. Hammering the socket like this caused me to find and fix a number of problems that improve socket reliability for general GDM use. I also enhanced gdmdynamic so it is more sensitive to the socket being busy and no longer overloads it, instead sleeping and retrying if necessary. This allows gdmdynamic to work if there are hundreds of displays instead of just a dozen or so. * daemon/gdm.[ch]: Added new "SERVER_BUSY" sockets command so that gdmdynamic can sleep before starting new slaves if the daemon is already busy. * daemon/gdm-net.[ch]: Bump up MAX_CONNECTIONS from 10 to 15. I notice that this improves performance significantly when hammering the daemon with connections. Added better comments for this logic and now debug logs when a subconnection is thrown away. New gdm_connection_is_server_busy function * daemon/display.c: Correct DYNAMIC_REMOVE so it works and fixes bug #326796. Before it wasn't really removing the displays. * gui/gdmdynamic.c: Quite a bit of work to make gdmdynamic avoid flooding the server with sockets requests. Now it sets sockets retries to 1 and manages sleeping and retries itself. * gui/gdmconfig.c: Added gdm_config_set_comm_retries so that slaves can specify how many retries they want the comm logic to use. * gui/gdmcomm.c: Now do_command returns NULL when it gets back "", which happens when a subconnection was dropped by the daemon. This lets the slave try the connection again. Now error messages are always logged, not just when debug is turned on. Added gdmcomm_did_connection_fail and gdmcomm_set_allow_sleep so gdmdynamic can control the behavior of how the connection works. * gui/gdmcommon.c, gui/gdmchooser.c, gui/gdmlogin.c, gui/greeter/greeter.c: Fix gdm_common_fail so it doesn't generate compile errors when building with GCC. Fixes bug #330480. * docs/C/gdm.xml: Cleaned up section that explains sockets commands so that they are in alphabetical order, added info about SERVER_BUSY and new gdmdynamic -s and -t options. * config/gdm.conf: Better description of how debug works, perhaps I just didn't like the word "spew". ---------------------------------------------------------------------
Diffstat (limited to 'config')
-rw-r--r--config/gdm.conf.in7
1 files changed, 4 insertions, 3 deletions
diff --git a/config/gdm.conf.in b/config/gdm.conf.in
index 12ba43e0..c15cb86c 100644
--- a/config/gdm.conf.in
+++ b/config/gdm.conf.in
@@ -498,9 +498,10 @@ Multicast=false
#AllowAdd=true
[debug]
-# This will enable debugging into the syslog, usually not necessary and it
-# creates a LOT of spew of random stuff to the syslog. However it can be
-# useful in determining when something is going very wrong.
+# This will cause GDM to send debugging information to the system log, which
+# will create a LOT of output. It is not recommended to turn this on for
+# normal use, but it can be useful to determine the cause when GDM is not
+# working properly.
Enable=false
# This will enable debug messages for accessibilty gesture listeners into the
# syslog. This includes output about key events, mouse button events, and