diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/ck-manager.c | 11 | ||||
-rw-r--r-- | src/ck-session.c | 2 | ||||
-rw-r--r-- | src/main.c | 3 | ||||
-rwxr-xr-x | src/test-session | 3 | ||||
-rwxr-xr-x | src/valgrind.sh | 4 |
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)); @@ -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 |