Watch Handle

Havoc Pennington hp at redhat.com
Sat Sep 17 06:38:01 PDT 2005


On Fri, 2005-09-16 at 14:52 +0800, tang wrote:
> dbus_watch_handle( watch, DBUS_WATCH_READABLE );
> 
> while (dbus_connection_dispatch( conn ) == DBUS_DISPATCH_DATA_REMAINS)
>              ;
> 
> when i run these codes a long time, the error will appear:
> 
> org.freedesktop.DBus.Error.LimitsExceeded: The maximum number of pending 
> replies per connection has been reached

If you send a method call that expects a reply, then the bus tracks that
a reply is pending. Only a fixed number of pending replies is allowed.

You can increase this limit in the config file (see "man dbus-daemon",
search for <limit> and the max_replies_per_connection limit)

Or you could set the no_reply flag on your messages, if you don't want a
reply. Then the bus won't track a pending reply. This is the best
solution since it also improves performance.

If you aren't doing anything "strange" then we might consider increasing
the default number of pending replies allowed, which is 32 per
connection, not very high. Should probably be higher.

Havoc





More information about the dbus mailing list