diff options
author | Lennart Poettering <lennart@poettering.net> | 2009-06-05 19:00:12 +0200 |
---|---|---|
committer | Lennart Poettering <lennart@poettering.net> | 2009-06-05 19:00:12 +0200 |
commit | 1748fd2a0d327201ee57847ba3d9a8209f8d98d6 (patch) | |
tree | 13754d3ebc933434e643ad64b175ea905672e2f0 /src/modules/reserve.c | |
parent | 3e10f3f4e3bde6bb772eab70a1008895a302494f (diff) |
reserve: update reserve.[ch] from upstream git
Diffstat (limited to 'src/modules/reserve.c')
-rw-r--r-- | src/modules/reserve.c | 22 |
1 files changed, 8 insertions, 14 deletions
diff --git a/src/modules/reserve.c b/src/modules/reserve.c index 9a9591d2..09bc46cb 100644 --- a/src/modules/reserve.c +++ b/src/modules/reserve.c @@ -43,16 +43,15 @@ struct rd_device { DBusConnection *connection; - int owning:1; - int registered:1; - int filtering:1; - int gave_up:1; + unsigned owning:1; + unsigned registered:1; + unsigned filtering:1; + unsigned gave_up:1; rd_request_cb_t request_cb; void *userdata; }; - #define SERVICE_PREFIX "org.freedesktop.ReserveDevice1." #define OBJECT_PREFIX "/org/freedesktop/ReserveDevice1/" @@ -297,6 +296,7 @@ static DBusHandlerResult filter_handler( dbus_error_init(&error); d = userdata; + assert(d->ref >= 1); if (dbus_message_is_signal(m, "org.freedesktop.DBus", "NameLost")) { const char *name; @@ -560,7 +560,7 @@ void rd_release( assert(d->ref > 0); - if (--d->ref) + if (--d->ref > 0) return; @@ -575,17 +575,11 @@ void rd_release( d->connection, d->object_path); - if (d->owning) { - DBusError error; - dbus_error_init(&error); - + if (d->owning) dbus_bus_release_name( d->connection, d->service_name, - &error); - - dbus_error_free(&error); - } + NULL); free(d->device_name); free(d->application_name); |