diff options
author | Simon McVittie <simon.mcvittie@collabora.co.uk> | 2011-01-24 17:11:52 +0000 |
---|---|---|
committer | Simon McVittie <simon.mcvittie@collabora.co.uk> | 2011-06-13 17:30:43 +0100 |
commit | 40b5dc824aaf3b6ab71d7827fb66e080109a11e7 (patch) | |
tree | f1c4b843bb3df9648ea4c61d74e83821f28acbcc /bus | |
parent | f567a7f7192c62310fc57cda7350d7e9de5d082b (diff) | |
download | dbus-40b5dc824aaf3b6ab71d7827fb66e080109a11e7.tar.gz |
Add a stub _dbus_loop_toggle_watch and call it where needed
Bug: https://bugs.freedesktop.org/show_bug.cgi?id=33337
Bug-NB: NB#197191
Diffstat (limited to 'bus')
-rw-r--r-- | bus/activation.c | 12 | ||||
-rw-r--r-- | bus/bus.c | 14 | ||||
-rw-r--r-- | bus/connection.c | 11 | ||||
-rw-r--r-- | bus/test.c | 9 |
4 files changed, 42 insertions, 4 deletions
diff --git a/bus/activation.c b/bus/activation.c index d5424a7c..149ae492 100644 --- a/bus/activation.c +++ b/bus/activation.c @@ -1426,6 +1426,16 @@ remove_babysitter_watch (DBusWatch *watch, watch); } +static void +toggle_babysitter_watch (DBusWatch *watch, + void *data) +{ + BusPendingActivation *pending_activation = data; + + _dbus_loop_toggle_watch (bus_context_get_loop (pending_activation->activation->context), + watch); +} + static dbus_bool_t pending_activation_timed_out (void *data) { @@ -2110,7 +2120,7 @@ bus_activation_activate_service (BusActivation *activation, if (!_dbus_babysitter_set_watch_functions (pending_activation->babysitter, add_babysitter_watch, remove_babysitter_watch, - NULL, + toggle_babysitter_watch, pending_activation, NULL)) { @@ -126,6 +126,18 @@ remove_server_watch (DBusWatch *watch, _dbus_loop_remove_watch (context->loop, watch); } +static void +toggle_server_watch (DBusWatch *watch, + void *data) +{ + DBusServer *server = data; + BusContext *context; + + context = server_get_context (server); + + _dbus_loop_toggle_watch (context->loop, watch); +} + static dbus_bool_t add_server_timeout (DBusTimeout *timeout, void *data) @@ -228,7 +240,7 @@ setup_server (BusContext *context, if (!dbus_server_set_watch_functions (server, add_server_watch, remove_server_watch, - NULL, + toggle_server_watch, server, NULL)) { diff --git a/bus/connection.c b/bus/connection.c index d74b3261..5d17a2f0 100644 --- a/bus/connection.c +++ b/bus/connection.c @@ -312,6 +312,15 @@ remove_connection_watch (DBusWatch *watch, _dbus_loop_remove_watch (connection_get_loop (connection), watch); } +static void +toggle_connection_watch (DBusWatch *watch, + void *data) +{ + DBusConnection *connection = data; + + _dbus_loop_toggle_watch (connection_get_loop (connection), watch); +} + static dbus_bool_t add_connection_timeout (DBusTimeout *timeout, void *data) @@ -624,7 +633,7 @@ bus_connections_setup_connection (BusConnections *connections, if (!dbus_connection_set_watch_functions (connection, add_connection_watch, remove_connection_watch, - NULL, + toggle_connection_watch, connection, NULL)) goto out; @@ -54,6 +54,13 @@ remove_client_watch (DBusWatch *watch, _dbus_loop_remove_watch (client_loop, watch); } +static void +toggle_client_watch (DBusWatch *watch, + void *data) +{ + _dbus_loop_toggle_watch (client_loop, watch); +} + static dbus_bool_t add_client_timeout (DBusTimeout *timeout, void *data) @@ -120,7 +127,7 @@ bus_setup_debug_client (DBusConnection *connection) if (!dbus_connection_set_watch_functions (connection, add_client_watch, remove_client_watch, - NULL, + toggle_client_watch, connection, NULL)) goto out; |