From 75a403ff48ac974f06d46b341cf4f69173719e1a Mon Sep 17 00:00:00 2001 From: NeilBrown Date: Fri, 13 Dec 2013 20:24:15 +1100 Subject: [PATCH] New command : realarm This can be used to communicate with susman to wake from suspend every so often. --- alarm/realarm.c | 42 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 42 insertions(+) create mode 100644 alarm/realarm.c diff --git a/alarm/realarm.c b/alarm/realarm.c new file mode 100644 index 0000000..106a52b --- /dev/null +++ b/alarm/realarm.c @@ -0,0 +1,42 @@ + +#define _XOPEN_SOURCE +#define _BSD_SOURCE +#define _GNU_SOURCE +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include "libsus.h" + + +int seconds = 60; +struct event *wkev; + +static void realarm(int fd, short ev, void *vp) +{ + if (wkev && !vp) + wakealarm_destroy(wkev); + wkev = wakealarm_set(time(0) + seconds, realarm, (void*)1); +} + + +main(int argc, char *argv[]) +{ + + if (argc >= 2) { + seconds = atoi(argv[1]); + if (seconds <= 0) + exit(1); + } + event_init(); + realarm(0, 0, NULL); + event_loop(0); + exit(0); +} -- 2.39.5