diff options
| author | William Jon McCann <mccann@jhu.edu> | 2006-11-06 15:28:41 -0500 | 
|---|---|---|
| committer | William Jon McCann <mccann@jhu.edu> | 2006-11-06 15:28:41 -0500 | 
| commit | babc733eff30a2be18fa3f99bc3ef4f14e35d259 (patch) | |
| tree | 729bc3c4107c86dd833e7aef3a7efe883d75056e /src | |
| parent | be02d5de51072235c20d6974f0cccb485055a02e (diff) | |
Fix some small leaks.  Add --timed-exit to daemon for valgrinding.
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  | 
