int opt;
tzset();
+
if (sigemptyset(&signals_to_block) != 0 ||
sigaddset(&signals_to_block, SIGINT) != 0 ||
sigaddset(&signals_to_block, SIGTERM) != 0)
if (timer_create(CLOCK_REALTIME, &sev, &main_timer) != 0)
err(1, "timer_create");
- if (clock_gettime(CLOCK_REALTIME, &ts) != 0)
- err(1, "clock_gettime");
- if (localtime_r(&ts.tv_sec, &displayed) == NULL)
- err(1, "localtime_r");
- displayed.tm_sec = (displayed.tm_sec >= 30) ? 30 : 0;
while ((opt = getopt(argc, argv, "f:g:s:")) != -1) {
switch (opt) {
case 'f':
/* Allow -s to override state read from file. */
if (statestr != NULL)
init_statestring(statestr);
+ if (statefile == NULL && statestr == NULL) {
+ if (clock_gettime(CLOCK_REALTIME, &ts) != 0)
+ err(1, "clock_gettime");
+ if (localtime_r(&ts.tv_sec, &displayed) == NULL)
+ err(1, "localtime_r");
+ displayed.tm_sec = (displayed.tm_sec >= 30) ? 30 : 0;
+ }
}
enum need_adjust { STOP, TICK, ADVANCE };