diff options
author | Havoc Pennington <hp@redhat.com> | 2003-04-09 00:27:41 +0000 |
---|---|---|
committer | Havoc Pennington <hp@redhat.com> | 2003-04-09 00:27:41 +0000 |
commit | 0e1945b3889f8be8e31e39ad2b982c8a192be41d (patch) | |
tree | 2875bfa498c923d983b2fc6cbba37988373db357 /bus/bus.c | |
parent | 0366385618ccc26789fdf3a9cc35ee038de071f6 (diff) |
2003-04-08 Colin Walters <walters@gnu.org>
* bus/bus.c (struct BusContext) [pidfile]: New member, to store
the pid file.
(bus_context_new): Set it.
(bus_context_unref): Use it to delete the pid file.
Diffstat (limited to 'bus/bus.c')
-rw-r--r-- | bus/bus.c | 18 |
1 files changed, 18 insertions, 0 deletions
@@ -37,6 +37,7 @@ struct BusContext int refcount; char *type; char *address; + char *pidfile; DBusLoop *loop; DBusList *servers; BusConnections *connections; @@ -632,6 +633,9 @@ bus_context_new (const DBusString *config_file, goto failed; } } + + /* keep around the pid filename so we can delete it later */ + context->pidfile = _dbus_strdup (pidfile); bus_config_parser_unref (parser); _dbus_string_free (&full_address); @@ -760,6 +764,20 @@ bus_context_unref (BusContext *context) dbus_free (context->type); dbus_free (context->address); + + if (context->pidfile) + { + DBusString u; + _dbus_string_init_const (&u, context->pidfile); + + /* Deliberately ignore errors here, since there's not much + * we can do about it, and we're exiting anyways. + */ + _dbus_delete_file (&u, NULL); + + dbus_free (context->pidfile); + } + dbus_free (context); server_data_slot_unref (); |