void logger_stop_all (int write_info_line) { while (logger_buffers) { logger_stop (logger_buffers, write_info_line); } }
void zdb_finalize() { if(!zdb_init_done) { return; } zdb_init_done = FALSE; #if ZDB_DNSSEC_SUPPORT != 0 dnssec_keystore_destroy(); dnssec_keystore_resetpath(); #endif #if ZDB_OPENSSL_SUPPORT!=0 ERR_remove_state(0); /* Init openssl */ CRYPTO_set_locking_callback(NULL); CRYPTO_set_id_callback(NULL); int i; for(i = 0; i < ssl_mutex_count; i++) { pthread_mutex_destroy(&ssl_mutex[i]); } free(ssl_mutex); ENGINE_cleanup(); #endif logger_stop(); #if ZDB_USE_THREADPOOL != 0 /* * The default value for the database. * This initialization will do nothing if it has already been done. * * The server will have to do it before calling zdb_init(); * */ if(thread_pool_initialized_by_zdb) { thread_pool_destroy(); } #endif }
int logger_buffer_closing_signal_cb (void *data, const char *signal, const char *type_data, void *signal_data) { /* make C compiler happy */ (void) data; (void) signal; (void) type_data; logger_stop (logger_buffer_search_buffer (signal_data), 1); return WEECHAT_RC_OK; }
void fc_landing() { gui_dialog_set_P(PSTR("Landing"), PSTR(""), GUI_STYLE_STATS, fc_landing_cb); fc_landing_old_gui_task = gui_task; gui_switch_task(GUI_DIALOG); fc.flight_state = FLIGHT_LAND; fc.flight_timer = task_get_ms_tick() - fc.flight_timer; audio_off(); logger_stop(); }
int main(int argc, char* argv[]) { state_st state = {0}; // set locale, otherwise we cant use unicode characters for the walls setlocale(LC_ALL, ""); // seed random # srand(time(NULL)); // check for logging if (argc > 1) { if (!strcmp(argv[1], "--debug")) { logger_set_level(LOGGER_LEVEL_DEBUG); } else if (!strcmp(argv[1], "--verbose")) { logger_set_level(LOGGER_LEVEL_VERBOSE); } else if (!strcmp(argv[1], "--warn")) { logger_set_level(LOGGER_LEVEL_WARN); } else if (!strcmp(argv[1], "--error")) { logger_set_level(LOGGER_LEVEL_ERROR); } } // set up logger. If no level has been set this call will do nothing. logger_init(); // set up game state game_init(&state); // welcome screen. get rogue's name, roll rogue welcome(&state); // game loop do { // draw draw(&state); // input input_handler(&state); } while(state.running); endwin(); free_state(&state); logger_stop(); return (EXIT_SUCCESS); }
void logger_start_buffer (struct t_gui_buffer *buffer, int write_info_line) { struct t_logger_buffer *ptr_logger_buffer; int log_level, log_enabled; if (!buffer) return; log_level = logger_get_level_for_buffer (buffer); log_enabled = weechat_config_boolean (logger_config_file_auto_log) && (log_level > 0); ptr_logger_buffer = logger_buffer_search_buffer (buffer); /* logging is disabled for buffer */ if (!log_enabled) { /* stop logger if it is active */ if (ptr_logger_buffer) logger_stop (ptr_logger_buffer, 1); } else { /* logging is enabled for buffer */ if (ptr_logger_buffer) ptr_logger_buffer->log_level = log_level; else { ptr_logger_buffer = logger_buffer_add (buffer, log_level); if (ptr_logger_buffer) { if (ptr_logger_buffer->log_filename) { if (ptr_logger_buffer->log_file) { fclose (ptr_logger_buffer->log_file); ptr_logger_buffer->log_file = NULL; } } } } if (ptr_logger_buffer) ptr_logger_buffer->write_start_info_line = write_info_line; } }
int logger_stop_signal_cb (void *data, const char *signal, const char *type_data, void *signal_data) { struct t_logger_buffer *ptr_logger_buffer; /* make C compiler happy */ (void) data; (void) signal; (void) type_data; ptr_logger_buffer = logger_buffer_search_buffer (signal_data); if (ptr_logger_buffer) logger_stop (ptr_logger_buffer, 0); return WEECHAT_RC_OK; }
void logger_adjust_log_filenames () { struct t_infolist *ptr_infolist; struct t_logger_buffer *ptr_logger_buffer; struct t_gui_buffer *ptr_buffer; char *log_filename; ptr_infolist = weechat_infolist_get ("buffer", NULL, NULL); if (ptr_infolist) { while (weechat_infolist_next (ptr_infolist)) { ptr_buffer = weechat_infolist_pointer (ptr_infolist, "pointer"); ptr_logger_buffer = logger_buffer_search_buffer (ptr_buffer); if (ptr_logger_buffer && ptr_logger_buffer->log_filename) { log_filename = logger_get_filename (ptr_logger_buffer->buffer); if (log_filename) { if (strcmp (log_filename, ptr_logger_buffer->log_filename) != 0) { /* * log filename has changed (probably due to day * change),then we'll use new filename */ logger_stop (ptr_logger_buffer, 1); logger_start_buffer (ptr_buffer, 1); } free (log_filename); } } } weechat_infolist_free (ptr_infolist); } }
static void game_init(state_st *state) { log_func_enter; int i; // set up windows state->game = init_gamew(); state->help = init_helpw(); state->inventory = init_inventoryw(); if (!state->game || !state->help || !state->inventory) { endwin(); fprintf(stderr, "%s:%d - %s() - Failed to create window!\n", __FILE__, __LINE__, __func__); log_error("Window creation failed, aborting"); logger_stop(); free_state(state); exit(EXIT_FAILURE); } if (LINES < MIN_ROW || COLS < MIN_COL) { endwin(); fprintf(stderr, "Your terminal is too small. Minimum supported dimensions are %dx%d\n", MIN_COL, MIN_ROW); log_error("Terminal size too small, aborting"); logger_stop(); free_state(state); exit(EXIT_FAILURE); } curs_set(0); if(has_colors() == false) { endwin(); fprintf(stderr, "Your terminal does not support color\n"); log_error("Terminal colors not supported, aborting"); logger_stop(); free_state(state); exit(EXIT_FAILURE); } start_color(); init_colors(); // allow us to catch the arrow keys keypad(state->game, TRUE); // generate random names for items for (i = 0; i < NUM_SCROLLS; ++i) { state->scroll_names[i] = calloc(ITEM_NAME_MAX, sizeof(char)); if (!state->scroll_names[i]) { endwin(); fprintf(stderr, "%s:%d - %s() - out of memory\n", __FILE__, __LINE__, __func__); log_error("malloc failed"); logger_stop(); free_state(state); exit(EXIT_FAILURE); } random_string(state->scroll_names[i], ITEM_NAME_MAX-1); } // randomize ring types rings_init(state); // randomize potion names potions_init(state); // randomize wand names wands_init(state); state->running = true; init_level(state); log_func_exit; }
int webcam_run() { #ifdef HAVE_CAMERA // Our mandatory renderers, ensures they are run first being registered last struct Node *n = cameras.l_head; while (list_isNode(n)) { CAMERA camera = (CAMERA) n; n = n->n_succ; // Put annotated last list_addTail(&camera->renderers.renderers, &create_annotatedrenderer()->node); // These go first list_addHead(&camera->renderers.renderers, &create_thumbnailrenderer()->node); list_addHead(&camera->renderers.renderers, &create_rawrenderer()->node); } #endif // Now start the system up webserver_initialise(config); #ifdef HAVE_CAMERA // Initialise the renderers n = cameras.l_head; while (list_isNode(n)) { CAMERA camera = (CAMERA) n; n = n->n_succ; imagerenderer_init(camera); } #endif // Initialise the loggers logger_start(); // Finish off configuring the webserver, default port etc webserver_set_defaults(); #ifdef HAVE_CAMERA n = cameras.l_head; while (list_isNode(n)) { CAMERA camera = (CAMERA) n; n = n->n_succ; imagerenderer_postinit(camera); } #endif sensor_postinit(); // The camera home page //create_homepage(); // Start everything up webserver_start(); #ifdef HAVE_CAMERA camera_start(); #endif // Now the main loop, monitor for sensor updates //sensor_loop(); while (1) sleep(60); // Shutdown - we never actually get here webserver_stop(); logger_stop(); #ifdef HAVE_CAMERA camera_stop(); #endif return 0; }