BOOL WINAPI DllMain(HINSTANCE hinstDLL, DWORD fdwReason, LPVOID lpvReserved) { if (fdwReason == DLL_PROCESS_ATTACH) { log_initialize(); hook_initialize(); log_write("DLL attached"); } return TRUE; }
static void _initialize_subsystems(void) { if (!kitsune_is_updating()) { /**DSU control */ log_initialize(); thread_initialize(); sock_initialize(); resolver_initialize(); config_initialize(); connection_initialize(); global_initialize(); refbuf_initialize(); xslt_initialize(); } }
static void _initialize_subsystems(void) { log_initialize(); thread_initialize(); sock_initialize(); resolver_initialize(); config_initialize(); connection_initialize(); global_initialize(); refbuf_initialize(); xslt_initialize(); #ifdef USE_YP curl_initialize(); #endif }
void thread_initialize(void) { thread_type *thread; /* set up logging */ #ifdef THREAD_DEBUG log_initialize(); _logid = log_open("thread.log"); log_set_level(_logid, THREAD_DEBUG); #endif #ifdef DEBUG_MUTEXES /* create all the internal mutexes, and initialize the mutex tree */ _mutextree = avl_tree_new(_compare_mutexes, NULL); /* we have to create this one by hand, because there's no ** mutextree_mutex to lock yet! */ _mutex_create(&_mutextree_mutex); _mutextree_mutex.mutex_id = _next_mutex_id++; avl_insert(_mutextree, (void *)&_mutextree_mutex); #endif thread_mutex_create(&_threadtree_mutex); thread_mutex_create(&_library_mutex); /* initialize the thread tree and insert the main thread */ _threadtree = avl_tree_new(_compare_threads, NULL); thread = (thread_type *)amalloc(sizeof(thread_type)); thread->thread_id = _next_thread_id++; thread->line = 0; thread->file = strdup("main.c"); thread->sys_thread = pthread_self(); thread->create_time = time(NULL); thread->name = strdup("Main Thread"); avl_insert(_threadtree, (void *)thread); _catch_signals(); _initialized = 1; }
void initialize_subsystems(void) { log_initialize(); errorlog = log_open_file (stderr); thread_initialize(); sock_initialize(); resolver_initialize(); config_initialize(); connection_initialize(); global_initialize(); refbuf_initialize(); stats_initialize(); xslt_initialize(); #ifdef HAVE_CURL_GLOBAL_INIT curl_global_init (CURL_GLOBAL_ALL); #endif }
int main(int argc, char **argv) { char logpath[FILENAME_MAX]; int log; if (argc != 2) { fprintf(stderr, PACKAGE_STRING "\n" " (c) Copyright 2001-2004 The IceS Development Team <*****@*****.**>\n" " Michael Smith <*****@*****.**>\n" " Karl Heyes <*****@*****.**>\n" " and others\n" "\n" "Usage: \"ices config.xml\"\n"); return 1; } config_initialize(); if (config_read(argv[1]) <= 0) { fprintf(stderr, "Failed to read config file \"%s\"\n", argv[1]); goto fail; } if (ices_config->background) { #ifndef _WIN32 int ret = 0; /* Start up new session, to lose old session and process group */ switch (fork()) { case 0: break; /* child continues */ case -1: perror ("fork"); ret = -1; default: exit (ret); } /* Disassociate process group and controlling terminal */ setsid(); /* Become a NON-session leader so that a */ /* control terminal can't be reacquired */ switch (fork()) { case 0: break; /* child continues */ case -1: perror ("fork"); ret = -1; default: exit (ret); } #else FreeConsole(); #endif } log_initialize(); thread_initialize(); shout_init(); encode_init(); #ifndef _WIN32 signals_setup(); #endif snprintf(logpath, FILENAME_MAX, "%s/%s", ices_config->logpath, ices_config->logfile); if(ices_config->log_stderr) log = log_open_file(stderr); else { log = log_open(logpath); if (log < 0) fprintf (stderr, "unable to open log %s\n", logpath); log_set_trigger (log, ices_config->logsize); } /* Set the log level, if requested - defaults to 2 (WARN) otherwise */ if (ices_config->loglevel) log_set_level(log, ices_config->loglevel); ices_config->log_id = log; LOG_INFO0(PACKAGE_STRING " started..."); if (ices_config->pidfile != NULL) { FILE *f = fopen (ices_config->pidfile, "w"); if (f) { fprintf (f, "%i", getpid()); fclose (f); } else { LOG_WARN1("pidfile \"%s\" cannot be written to", ices_config->pidfile); xmlFree (ices_config->pidfile); ices_config->pidfile = NULL; } } /* Start the core streaming loop */ input_loop(); if (ices_config->pidfile) remove (ices_config->pidfile); LOG_INFO0("Shutdown complete"); log_close(log); fail: encode_close(); shout_shutdown(); config_shutdown(); thread_shutdown(); log_shutdown(); return 0; }
/** * The main function is where the program starts execution. */ Sint32 main (Sint32 args_count, char **arguments) { #if defined(POWERMANGA_LOG_ENABLED) LOG_LEVELS log_level = LOG_NOTHING; #endif /* GP2X or PSP port */ #ifdef POWERMANGA_HANDHELD_CONSOLE /* Use atexit() to call the return-to-menu function, * in case of crashes, etc. */ atexit (returnToMenu); #endif /* allocate memory table */ #if defined (USE_MALLOC_WRAPPER) if (!memory_init (22000)) { exit (0); } #endif #if defined(POWERMANGA_LOG_ENABLED) log_initialize (LOG_INFO); #endif /* load config file */ if (!configfile_load ()) { #if defined (USE_MALLOC_WRAPPER) memory_releases_all (); #endif exit (0); } #ifdef _WIN32_WCE power_conf->verbose = 1; display_windows_ce_infos (); #endif if (configfile_scan_arguments (args_count, arguments)) { #if defined(POWERMANGA_LOG_ENABLED) switch (power_conf->verbose) { case 1: log_level = LOG_WARNING; break; case 2: log_level = LOG_DEBUG; break; default: log_level = LOG_ERROR; break; } log_set_level (log_level); #endif #if defined(POWERMANGA_HANDHELD_CONSOLE) || defined(_WIN32_WCE) /* We require a 320x200 output size to fit on * the GP2X or PSP's display */ power_conf->scale_x = 1; power_conf->resolution = 320; power_conf->fullscreen = 1; pixel_size = 1; #endif if (power_conf->extract_to_png) { power_conf->scale_x = 1; power_conf->resolution = 320; power_conf->fullscreen = 0; power_conf->nosound = TRUE; pixel_size = 1; } if (power_conf->resolution == 320) { vmode = 0; } else { if (power_conf->scale_x > 1) { vmode = 2; } else { vmode = 1; } } initialize_and_run (); } release_game (); #if defined(POWERMANGA_LOG_ENABLED) log_close (); #endif /* releases all memory allocated */ #if defined (USE_MALLOC_WRAPPER) memory_releases_all (); #endif /* launch html donation page before leaving */ #if !defined(_WIN32_WCE) && defined(_WIN32) ShellExecute (0, "open", ".\\html\\ar01s06s02.html", 0, 0, SW_SHOWNORMAL); #endif return 0; }