X-Git-Url: http://jsfdemo.indexdata.com/?a=blobdiff_plain;f=src%2Feventl.c;h=980036e37af061e5e4dd0e38187322aca2b394b0;hb=d5ffc2f6e667c1d849bf7579add8435664e678c5;hp=c29d98c81b75638034d6afd883d6fead71db8f82;hpb=cc29eab9f928f6cd0f4231cb2e554e2ac7b0b1f3;p=pazpar2-moved-to-github.git diff --git a/src/eventl.c b/src/eventl.c index c29d98c..980036e 100644 --- a/src/eventl.c +++ b/src/eventl.c @@ -1,4 +1,4 @@ -/* $Id: eventl.c,v 1.5 2007-04-10 08:48:56 adam Exp $ +/* $Id: eventl.c,v 1.8 2007-10-02 07:50:12 adam Exp $ Copyright (c) 2006-2007, Index Data. This file is part of Pazpar2. @@ -42,6 +42,7 @@ Free Software Foundation, 59 Temple Place - Suite 330, Boston, MA #else #include #endif +#include #include #include #include @@ -83,7 +84,7 @@ int event_loop(IOCHAN *iochans) FD_ZERO(&out); FD_ZERO(&except); timeout = &to; /* hang on select */ - to.tv_sec = 30; + to.tv_sec = 15; to.tv_usec = 0; max = 0; for (p = *iochans; p; p = p->next) @@ -100,6 +101,8 @@ int event_loop(IOCHAN *iochans) FD_SET(p->fd, &except); if (p->fd > max) max = p->fd; + if (p->max_idle && p->max_idle < to.tv_sec) + to.tv_sec = p->max_idle; } if ((res = select(max + 1, &in, &out, &except, timeout)) < 0) {