コード例 #1
0
ファイル: logqueue-disk.c プロジェクト: Achint08/syslog-ng
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);
}
コード例 #2
0
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;
}
コード例 #3
0
ファイル: logqueue-disk.c プロジェクト: Achint08/syslog-ng
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);
}