/*
- * Copyright (C) 2010-2013 jeanfi@gmail.com
+ * Copyright (C) 2010-2014 jeanfi@gmail.com
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License as
#include "bool.h"
#include "config.h"
-#include "log.h"
+#include <plog.h>
+#include <pmutex.h>
#include "ptime.h"
#include "slog.h"
static const char *DEFAULT_FILENAME = "sensors.log";
-static char *get_default_path()
+static char *time_to_str(time_t *t)
+{
+ struct tm lt;
+ char *str;
+
+ if (!localtime_r(t, <))
+ return NULL;
+
+ str = malloc(64);
+
+ if (strftime(str, 64, "%s", <))
+ return str;
+
+ free(str);
+ return NULL;
+}
+
+static char *get_default_path(void)
{
char *home, *path, *dir;
free(dir);
return path;
- } else {
- log_warn(_("HOME variable not set."));
- return strdup(DEFAULT_FILENAME);
}
+
+ log_warn(_("HOME variable not set."));
+ return strdup(DEFAULT_FILENAME);
}
static bool slog_open(const char *path, struct psensor **sensors)
bool first_call;
if (!file) {
- log_err(_("Sensor log file not open."));
- return ;
+ log_debug(_("Sensor log file not open."));
+ return;
}
gettimeofday(&tv, NULL);
{
while (1) {
pthread_setcancelstate(PTHREAD_CANCEL_DISABLE, NULL);
- pthread_mutex_lock(sensors_mutex);
+ pmutex_lock(sensors_mutex);
slog_write_sensors(sensors);
- pthread_mutex_unlock(sensors_mutex);
+ pmutex_unlock(sensors_mutex);
pthread_setcancelstate(PTHREAD_CANCEL_ENABLE, NULL);
sleep(period);
}
- pthread_exit(0);
+ pthread_exit(NULL);
}
-void slog_close()
+void slog_close(void)
{
if (file) {
pthread_cancel(thread);