diff options
author | Dan Winship <danw@gnome.org> | 2012-09-03 08:33:13 -0400 |
---|---|---|
committer | Dan Winship <danw@gnome.org> | 2012-09-03 08:33:13 -0400 |
commit | 3389e6b686d4aad739780927b4db333e7d8af0c0 (patch) | |
tree | a5f6717b41d14aa9872149bc128092703d6c4fcb /gio/gio.c | |
parent | 27f34bc1a3cf658929735108d927b710a24592f1 (diff) | |
download | glib-wip/free.tar.gz |
gio stuffwip/free
Diffstat (limited to 'gio/gio.c')
-rw-r--r-- | gio/gio.c | 29 |
1 files changed, 18 insertions, 11 deletions
@@ -20,18 +20,25 @@ #include "gio.h" -#include "gdbusprivate.h" +#include "glib/gconstructor.h" #include "gioprivate.h" -void -g_io_deinit (void) +#ifdef G_DEFINE_CONSTRUCTOR_NEEDS_PRAGMA +#pragma G_DEFINE_CONSTRUCTOR_PRAGMA_ARGS (gio_dtor) +#endif +G_DEFINE_DESTRUCTOR (gio_dtor) + +static void +gio_dtor (void) { - _g_dbus_deinitialize (); - _g_local_file_deinit (); - _g_socket_connection_factory_deinit (); - _g_io_module_deinit (); - _g_cancellable_deinit (); - _g_io_scheduler_deinit (); - _g_proxy_resolver_deinit (); - _g_resolver_deinit (); + if (G_LIKELY (!g_mem_do_cleanup)) + return; + + g_cancellable_cleanup (); + g_dbus_cleanup (); + g_io_module_cleanup (); + g_io_scheduler_cleanup (); + g_local_file_cleanup (); + g_resolver_cleanup (); + g_socket_connection_factory_cleanup (); } |