summaryrefslogtreecommitdiffstats
path: root/src/modules/reserve.c
diff options
context:
space:
mode:
authorLennart Poettering <lennart@poettering.net>2009-07-20 17:34:17 +0200
committerLennart Poettering <lennart@poettering.net>2009-07-20 17:34:17 +0200
commit18e975fc5ef68a89875c77974570884b9214a009 (patch)
treee0346c369315e71f386190c19ad4a1c06d5b526e /src/modules/reserve.c
parent3a09a88fd1f3dfe365dc1f3e455c097010d00964 (diff)
mergedrtpoll
Diffstat (limited to 'src/modules/reserve.c')
-rw-r--r--src/modules/reserve.c24
1 files changed, 10 insertions, 14 deletions
diff --git a/src/modules/reserve.c b/src/modules/reserve.c
index 9a9591d2..5597f177 100644
--- a/src/modules/reserve.c
+++ b/src/modules/reserve.c
@@ -1,3 +1,5 @@
+/*-*- Mode: C; c-basic-offset: 8; indent-tabs-mode: t -*-*/
+
/***
Copyright 2009 Lennart Poettering
@@ -43,16 +45,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 +298,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 +562,7 @@ void rd_release(
assert(d->ref > 0);
- if (--d->ref)
+ if (--d->ref > 0)
return;
@@ -575,17 +577,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);