X-Git-Url: http://git.madism.org/?a=blobdiff_plain;f=common%2Fserver.c;h=6ea1a9ad2ccf4bd5179a1226334eacc51a7f6ac1;hb=bcd90daa5d3d303afe13832249fa20cad7303f8c;hp=73c2888969392f2465a94856f2dca04d0f263288;hpb=98232498b817536cfd1e11bccb23e2f7fdd5832b;p=apps%2Fpfixtools.git diff --git a/common/server.c b/common/server.c index 73c2888..6ea1a9a 100644 --- a/common/server.c +++ b/common/server.c @@ -135,11 +135,18 @@ static int start_client(server_t *server, start_client_t starter, } int server_loop(start_client_t starter, delete_client_t deleter, - run_client_t runner, void* config) { + run_client_t runner, refresh_t refresh, void* config) { while (!sigint) { struct epoll_event evts[1024]; int n; + if (sighup && refresh) { + if (!refresh(config)) { + syslog(LOG_ERR, "error while refreshing configuration"); + return EXIT_FAILURE; + } + } + n = epoll_select(evts, countof(evts), -1); if (n < 0) { if (errno != EAGAIN && errno != EINTR) {