static gboolean process_logs (GTimeVal *since) { gboolean ret; GList *files; GList *l; ret = FALSE; files = get_log_file_list (); for (l = files; l != NULL; l = l->next) { gboolean res; char *filename; filename = l->data; res = process_log_file (filename, since); if (! res) { goto out; } } ret = TRUE; out: g_list_foreach (files, (GFunc)g_free, NULL); g_list_free (files); return ret; }
static void process_log_file_on_signal(int signo) { process_log_file(); sigchain_pop(signo); raise(signo); }
static void process_log_file_at_exit(void) { fflush(stderr); process_log_file(); }