#include static gboolean _unref_lm_connection (gpointer data) { LmConnection *conn = (LmConnection *) data; // sleep (1); lm_connection_unref (conn); return FALSE; } static void connection_open_cb (LmConnection *lmconn, gboolean success, gpointer data) { g_assert (!success); g_assert (!lm_connection_is_open (lmconn)); g_idle_add (_unref_lm_connection, lmconn); } int main (int argc, char **argv) { GMainLoop *mainloop; LmConnection *conn; if (argc > 1) g_debug ("moo"); conn = lm_connection_new ("127.1.2.3"); lm_connection_open (conn, connection_open_cb, NULL, NULL, NULL); mainloop = g_main_loop_new (NULL, TRUE); g_main_loop_run (mainloop); }