X-Git-Url: http://git.madism.org/?a=blobdiff_plain;f=common%2Fserver.c;h=ea1df319b09b54845ae8a61ca01a1814a9b36000;hb=d55fa4e011ac7d3cfc6348cea4e06f1a8c807613;hp=73c2888969392f2465a94856f2dca04d0f263288;hpb=8977d252fc44ae953df4bde4a2f1c5895beea4e0;p=apps%2Fpfixtools.git diff --git a/common/server.c b/common/server.c index 73c2888..ea1df31 100644 --- a/common/server.c +++ b/common/server.c @@ -135,11 +135,19 @@ 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) { + sighup = false; + if (!refresh(config)) { + crit("error while refreshing configuration"); + return EXIT_FAILURE; + } + } + n = epoll_select(evts, countof(evts), -1); if (n < 0) { if (errno != EAGAIN && errno != EINTR) {