summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorWilliam Jon McCann <mccann@jhu.edu>2006-11-06 15:28:41 -0500
committerWilliam Jon McCann <mccann@jhu.edu>2006-11-06 15:28:41 -0500
commitbabc733eff30a2be18fa3f99bc3ef4f14e35d259 (patch)
tree729bc3c4107c86dd833e7aef3a7efe883d75056e
parentbe02d5de51072235c20d6974f0cccb485055a02e (diff)
Fix some small leaks. Add --timed-exit to daemon for valgrinding.
-rw-r--r--src/ck-manager.c11
-rw-r--r--src/ck-session.c2
-rw-r--r--src/main.c3
-rwxr-xr-xsrc/test-session3
-rwxr-xr-xsrc/valgrind.sh4
5 files changed, 18 insertions, 5 deletions
diff --git a/src/ck-manager.c b/src/ck-manager.c
index 76677cb..faf13ac 100644
--- a/src/ck-manager.c
+++ b/src/ck-manager.c
@@ -269,6 +269,7 @@ find_seat_for_session (CkManager *manager,
char *sid;
sid = g_strdup_printf ("%s/Seat%u", CK_DBUS_PATH, 1);
seat = g_hash_table_lookup (manager->priv->seats, sid);
+ g_free (sid);
}
return seat;
@@ -500,7 +501,7 @@ ck_manager_get_session_for_cookie (CkManager *manager,
ck_session_get_id (session, &ssid, NULL);
- dbus_g_method_return (context, g_strdup (ssid));
+ dbus_g_method_return (context, ssid);
g_free (ssid);
@@ -647,6 +648,8 @@ ck_manager_open_session (CkManager *manager,
dbus_g_method_return (context, cookie);
+ g_free (cookie);
+
return TRUE;
}
@@ -663,6 +666,8 @@ ck_manager_open_session_with_parameters (CkManager *manager,
error = NULL;
cookie = create_session_for_caller (manager, sender, parameters, &error);
+ g_free (sender);
+
if (cookie == NULL) {
dbus_g_method_return_error (context, error);
g_error_free (error);
@@ -671,6 +676,8 @@ ck_manager_open_session_with_parameters (CkManager *manager,
dbus_g_method_return (context, cookie);
+ g_free (cookie);
+
return TRUE;
}
@@ -910,6 +917,8 @@ ck_manager_get_sessions_for_user (CkManager *manager,
dbus_g_method_return (context, data->sessions);
+ g_ptr_array_foreach (data->sessions, (GFunc)g_free, NULL);
+ g_ptr_array_free (data->sessions, TRUE);
g_free (data);
return TRUE;
diff --git a/src/ck-session.c b/src/ck-session.c
index 278d7bc..89d62aa 100644
--- a/src/ck-session.c
+++ b/src/ck-session.c
@@ -671,6 +671,7 @@ ck_session_finalize (GObject *object)
g_return_if_fail (session->priv != NULL);
g_free (session->priv->id);
+ g_free (session->priv->cookie);
g_free (session->priv->seat_id);
g_free (session->priv->session_type);
g_free (session->priv->xdisplay);
@@ -732,6 +733,7 @@ ck_session_new_with_parameters (const char *ssid,
G_MAXUINT);
g_object_set_property (object, prop_name, prop_val);
+ g_value_unset (prop_val);
}
res = register_session (CK_SESSION (object));
diff --git a/src/main.c b/src/main.c
index de0370e..d1f5ad8 100644
--- a/src/main.c
+++ b/src/main.c
@@ -60,6 +60,7 @@ main (int argc,
static GOptionEntry entries [] = {
{ "debug", 0, 0, G_OPTION_ARG_NONE, &debug, N_("Enable debugging code"), NULL },
{ "no-daemon", 0, 0, G_OPTION_ARG_NONE, &no_daemon, N_("Don't become a daemon"), NULL },
+ { "timed-exit", 0, 0, G_OPTION_ARG_NONE, &do_timed_exit, N_("Exit after a time - for debugging"), NULL },
{ NULL }
};
@@ -133,7 +134,7 @@ main (int argc,
loop = g_main_loop_new (NULL, FALSE);
if (do_timed_exit) {
- g_timeout_add (1000 * 60, (GSourceFunc) timed_exit_cb, loop);
+ g_timeout_add (3000 * 60, (GSourceFunc) timed_exit_cb, loop);
}
g_main_loop_run (loop);
diff --git a/src/test-session b/src/test-session
index 3b26057..72f1ade 100755
--- a/src/test-session
+++ b/src/test-session
@@ -22,6 +22,7 @@ params.append (("display-device", dbus.Variant ("/dev/tty8")))
cookie = manager.OpenSessionWithParameters (params)
os.environ['XDG_SESSION_COOKIE'] = cookie
+print "Got cookie: %s" % cookie
seats = manager.GetSeats ()
for sid in seats:
@@ -33,7 +34,7 @@ for sid in seats:
session = dbus.Interface (session_obj, 'org.freedesktop.ConsoleKit.Session')
uid = session.GetUser ()
-current_session = manager.GetSession (cookie)
+current_session = manager.GetCurrentSession ()
print "Current session: %s" % current_session
session_obj = bus.get_object ('org.freedesktop.ConsoleKit', ssid)
diff --git a/src/valgrind.sh b/src/valgrind.sh
index 845da8b..a535c74 100755
--- a/src/valgrind.sh
+++ b/src/valgrind.sh
@@ -6,7 +6,7 @@ export G_SLICE=always-malloc
#valgrind --tool=massif --depth=5 --alloc-fn=g_malloc \
# --alloc-fn=g_realloc --alloc-fn=g_try_malloc \
# --alloc-fn=g_malloc0 --alloc-fn=g_mem_chunk_alloc \
-# console-kit-daemon --no-daemon
+# console-kit-daemon --no-daemon --timed-exit
valgrind --tool=memcheck --leak-check=full --show-reachable=yes \
- console-kit-daemon --no-daemon
+ console-kit-daemon --no-daemon --timed-exit