diff options
Diffstat (limited to 'dbus/dbus-server.c')
-rw-r--r-- | dbus/dbus-server.c | 11 |
1 files changed, 9 insertions, 2 deletions
diff --git a/dbus/dbus-server.c b/dbus/dbus-server.c index 79ed7ed4..ba48cd97 100644 --- a/dbus/dbus-server.c +++ b/dbus/dbus-server.c @@ -498,12 +498,19 @@ dbus_server_set_timeout_functions (DBusServer *server, * Called to notify the server when a previously-added watch * is ready for reading or writing, or has an exception such * as a hangup. + * + * If this function returns #FALSE, then the file descriptor may still + * be ready for reading or writing, but more memory is needed in order + * to do the reading or writing. If you ignore the #FALSE return, your + * application may spin in a busy loop on the file descriptor until + * memory becomes available, but nothing more catastrophic should + * happen. * * @param server the server. * @param watch the watch. * @param condition the current condition of the file descriptors being watched. */ -void +dbus_bool_t dbus_server_handle_watch (DBusServer *server, DBusWatch *watch, unsigned int condition) @@ -512,7 +519,7 @@ dbus_server_handle_watch (DBusServer *server, _dbus_watch_sanitize_condition (watch, &condition); - (* server->vtable->handle_watch) (server, watch, condition); + return (* server->vtable->handle_watch) (server, watch, condition); } /** |