static void _free(LogQueue *s) { LogQueueDisk *self = (LogQueueDisk *) s; if (self->free_fn) self->free_fn(self); qdisk_deinit(self->qdisk); qdisk_free(self->qdisk); g_free(self); }
static gboolean _save_queue (LogQueueDisk *s, gboolean *persistent) { LogQueueDiskNonReliable *self = (LogQueueDiskNonReliable *) s; if (qdisk_save_state (s->qdisk, self->qout, self->qbacklog, self->qoverflow)) { *persistent = TRUE; qdisk_deinit (s->qdisk); return TRUE; } return FALSE; }
static void _restart_diskq(LogQueueDisk *self, gboolean corrupted) { gchar *filename = g_strdup(qdisk_get_filename(self->qdisk)); gchar *new_file = NULL; qdisk_deinit(self->qdisk); if (corrupted) { new_file = g_strdup_printf("%s.corrupted",filename); rename(filename,new_file); g_free(new_file); } if (self->start) { self->start(self, filename); } g_free(filename); }