__attribute__((constructor)) static void _liblogfaf_init(void) { DBG(("liblogfaf: init()\n")); init_progname(&shared_data); init_hostname(&shared_data); init_connection(&shared_data); pthread_mutex_init(&shared_data.lock, NULL); set_defaults(&shared_data); }
/*The Main Program*/ int main(int argc, char** argv) { /* defines the tray_icon, as well as init gtk*/ g_set_application_name(PACKAGE_NAME); parse_command_line_options(argc,argv); register_thread("Main Thread"); if (!queue_init()) print("queue_init FAILED",NULL,ERROR); print("Glade File",glade_file,DEBUG); g_thread_init(NULL); gtk_init(NULL,NULL); gtk_init(&argc, &argv); Hosts_lock = g_mutex_new(); Userpath_lock = g_mutex_new(); g_mutex_lock(Userpath_lock); Userpath = g_strdup(getenv("HOME")); g_mutex_unlock(Userpath_lock); settings_init(); rest_init(); if (!xml_init()) print("xml_init FAILED",NULL,ERROR); init_hostname(); /*sets the tray icon from the create_tray_icon*/ create_tray_icon(); playing_info_music pInfo = {"Artist","Album","Song",0,0,0}; /* declares the playing info struct, and print if, if _DEBUG is definded at the top of msdaemon.c*/ /*inits the dbus and get the first set of info*/ dbus_init(); pInfo = dbus_get_playing_info_music(); print_playing_info_music(pInfo); get_active_devices(NULL); update_song_info(); GError *error; if ( (network_thread = g_thread_create((GThreadFunc)rest_thread_handler, NULL, FALSE, &error)) == NULL){ print("Error Creating Network Thread",error->message,ERROR); g_error_free(error); } if ( (file_thread = g_thread_create((GThreadFunc)file_thread_handler, NULL, FALSE, &error)) == NULL){ print("Error Creating Network Thread",error->message,ERROR); g_error_free(error); } if ( (gui_thread = g_thread_create((GThreadFunc)gui_thread_handler, NULL, FALSE, &error)) == NULL){ print("Error Creating Network Thread",error->message,ERROR); g_error_free(error); } g_timeout_add (1000,(GSourceFunc) get_next_command,NULL); g_timeout_add (300000,(GSourceFunc) update_active_devices,NULL); init_status_window(FALSE,glade_file); start_tray(); g_free(Userpath); deauthenticate(); return 0; }
__attribute__((constructor)) static void _liblogfaf_init(void) { DBG(("liblogfaf: init()\n")); init_progname(&shared_data); init_hostname(&shared_data); init_connection(&shared_data); if (pthread_mutex_init(&shared_data.lock, NULL) != 0) { fprintf(stderr, "liblogfaf: pthread_mutex_init() failed\n"); exit(1); } set_defaults(&shared_data); }
static int init_global_variables(void) { interval_g = cf_get_default_interval(); assert(interval_g > 0); DEBUG("interval_g = %.3f;", CDTIME_T_TO_DOUBLE(interval_g)); const char *str = global_option_get("Timeout"); if (str == NULL) str = "2"; timeout_g = atoi(str); if (timeout_g <= 1) { fprintf(stderr, "Cannot set the timeout to a correct value.\n" "Please check your settings.\n"); return -1; } DEBUG("timeout_g = %i;", timeout_g); if (init_hostname() != 0) return -1; DEBUG("hostname_g = %s;", hostname_g); return 0; } /* int init_global_variables */