subsession_event_type_e event;
} test_user_data_cb_t;
+subsession_watch_context watch_ctx;
+
volatile test_user_data userD[usernames.size()];
int callback_pending_reference = 0;
sessiondReady = true;
g_cond_signal(&cond);
g_mutex_unlock(&mutex);
+
+ /* Unregister so that the event doesn't happen
+ * again if sessiond dies and reappears.
+ */
+ if (subsession_unregister_bus_watch_callback(&watch_ctx) != SUBSESSION_ERROR_NONE)
+ printf("Error while unregistering dbus name watch callback!\n");
}
int main(int argc, char *argv[])
GMainLoop *loop = g_main_loop_new(NULL, FALSE);
GThread *loop_thread = g_thread_new("mainloop thread", (GThreadFunc) g_main_loop_run, loop);
- printf("Waiting for sessiond daemon to initialize...");
- subsession_watch_context watch_ctx;
+ printf("Waiting for sessiond daemon to initialize...\n");
if (subsession_register_bus_watch_callback(&watch_ctx, sessiond_started_callback) != SUBSESSION_ERROR_NONE)
return EXIT_FAILURE;
g_cond_wait(&cond, &mutex);
g_mutex_unlock(&mutex);
- if (subsession_unregister_bus_watch_callback(&watch_ctx) != SUBSESSION_ERROR_NONE)
- return EXIT_FAILURE;
-
///===================================///
printf("Test program start\nGetting initial user list... ");