diff options
author | Havoc Pennington <hp@redhat.com> | 2005-04-13 14:10:21 +0000 |
---|---|---|
committer | Havoc Pennington <hp@redhat.com> | 2005-04-13 14:10:21 +0000 |
commit | 893f5b7bf561922dafae9d8397b82ee9ee35ad49 (patch) | |
tree | 535913ae26ab82af071502b78714122d8b11c44f | |
parent | 6606169cbcf17dd06dfa7f9e25d9c1c33b0bf080 (diff) |
2005-04-13 Havoc Pennington <hp@redhat.com>
* glib/dbus-gmain.c (message_queue_dispatch): only dispatch one
message at a time to avoid monopolizing the main loop, bug
#2953 from Benjamin Otte
-rw-r--r-- | ChangeLog | 6 | ||||
-rw-r--r-- | glib/dbus-gmain.c | 6 |
2 files changed, 9 insertions, 3 deletions
@@ -1,3 +1,9 @@ +2005-04-13 Havoc Pennington <hp@redhat.com> + + * glib/dbus-gmain.c (message_queue_dispatch): only dispatch one + message at a time to avoid monopolizing the main loop, bug + #2953 from Benjamin Otte + 2005-04-09 Havoc Pennington <hp@redhat.com> * dbus/dbus-string.c (copy): change a memcpy to memmove due to diff --git a/glib/dbus-gmain.c b/glib/dbus-gmain.c index 57be8490..1843f224 100644 --- a/glib/dbus-gmain.c +++ b/glib/dbus-gmain.c @@ -103,9 +103,9 @@ message_queue_dispatch (GSource *source, DBusConnection *connection = ((DBusGMessageQueue *)source)->connection; dbus_connection_ref (connection); - - while (dbus_connection_dispatch (connection) == DBUS_DISPATCH_DATA_REMAINS) - ; + + /* Only dispatch once - we don't want to starve other GSource */ + dbus_connection_dispatch (connection); dbus_connection_unref (connection); |