for (;;) {
struct stat st;
struct dirent *de;
- union dirent_storage buf;
- r = readdir_r(d, &buf.de, &de);
- if (r != 0)
- break;
+ errno = 0;
+ de = readdir(d);
+ if (!de && errno != 0)
+ return 0;
if (!de)
break;
log_info("Received SIG%s", signal_to_string(si->ssi_signo));
- sd_event_request_quit(s->event);
+ sd_event_exit(s->event, 0);
return 0;
}