diff options
author | Tanu Kaskinen <tanuk@iki.fi> | 2009-06-29 18:35:06 +0300 |
---|---|---|
committer | Tanu Kaskinen <tanuk@iki.fi> | 2009-06-29 18:35:06 +0300 |
commit | 0bc538b08ca5c4efea86700cb6c4685da3f34345 (patch) | |
tree | e5b0fe4b967ecb7e9251faf21904bbbe825aaab7 /src/modules/reserve.c | |
parent | b152f3a052eca7225870a7dc4d8a719bee107f0f (diff) | |
parent | 2654eb7781ddcfe53064745bbad77bffe5c8eada (diff) |
Merge branch 'master' into dbus-work
Conflicts:
src/daemon/daemon-conf.c
src/daemon/daemon-conf.h
src/daemon/main.c
src/pulsecore/dbus-util.h
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); |