Change-Id: I513654249cbc529bec771ab24481e75df4cb3c59
Signed-off-by: Anatolii Nikulin <nikulin.a@samsung.com>
#include <fcntl.h> // for open
#include <grp.h> // for setgroups
#include <sys/wait.h> /* waitpid */
+#include <time.h>
#include "daemon.h"
#include "utils.h"
float get_uptime(void)
{
- const char *LINUX_UPTIME_FILE = "/proc/uptime";
- FILE *fp = fopen(LINUX_UPTIME_FILE, "r");
- float uptime;
- if (!fp)
- return 0.0;
+ int ret;
+ struct timespec ts;
+ float uptime = 0.0;
- if (fscanf(fp, "%f", &uptime) != 1)
- uptime = 0.0;
+ ret = clock_gettime(CLOCK_BOOTTIME, &ts);
+ if (!ret)
+ uptime = ((float)ts.tv_sec + (ts.tv_nsec / 1000000000.0));
- fclose(fp);
return uptime;
}