X-Git-Url: http://git.indexdata.com/?a=blobdiff_plain;f=src%2Feventl.c;h=0f5873263b08954c33531bf290f5c7d746f56d06;hb=5c3d2d2ab097e4bb59ba5718a396b020a2d302c0;hp=ac562642adac53b235b1143d30acc6eee03507f4;hpb=c6e47cbbff56f39f6d81b079ebaeac41d793d4d9;p=yaz-moved-to-github.git diff --git a/src/eventl.c b/src/eventl.c index ac56264..0f58732 100644 --- a/src/eventl.c +++ b/src/eventl.c @@ -1,9 +1,16 @@ /* - * Copyright (c) 1995-2003, Index Data + * Copyright (c) 1995-2004, Index Data * See the file LICENSE for details. - * Sebastian Hammer, Adam Dickmeiss * - * $Id: eventl.c,v 1.1 2003-10-27 12:21:30 adam Exp $ + * $Id: eventl.c,v 1.4 2004-12-13 14:21:55 heikki Exp $ + */ + +/** + * \file eventl.c + * \brief Implements event loop handling for GFS. + * + * This source implements the main event loop for the Generic Frontend + * Server. It uses select(2). */ #include @@ -34,10 +41,19 @@ #define YAZ_EV_SELECT select #endif +static int log_level=0; +static int log_level_initialized=0; + IOCHAN iochan_create(int fd, IOC_CALLBACK cb, int flags) { IOCHAN new_iochan; + if (!log_level_initialized) + { + log_level=yaz_log_module_level("eventl"); + log_level_initialized=1; + } + if (!(new_iochan = (IOCHAN)xmalloc(sizeof(*new_iochan)))) return 0; new_iochan->destroyed = 0; @@ -74,7 +90,7 @@ int event_loop(IOCHAN *iochans) for (p = *iochans; p; p = p->next) { time_t w, ftime; - yaz_log(LOG_DEBUG, "fd=%d flags=%d force_event=%d", + yaz_log(log_level, "fd=%d flags=%d force_event=%d", p->fd, p->flags, p->force_event); if (p->force_event) to.tv_sec = 0; /* polling select */ @@ -97,9 +113,9 @@ int event_loop(IOCHAN *iochans) to.tv_sec = w; } } - yaz_log(LOG_DEBUG, "select start %ld", (long) to.tv_sec); + yaz_log(log_level, "select start %ld", (long) to.tv_sec); res = YAZ_EV_SELECT(max + 1, &in, &out, &except, &to); - yaz_log(LOG_DEBUG, "select end"); + yaz_log(log_level, "select end"); if (res < 0) { if (yaz_errno() == EINTR) @@ -120,7 +136,7 @@ int event_loop(IOCHAN *iochans) cs_close(conn); destroy_association(assoc); iochan_destroy(*iochans); - yaz_log(LOG_DEBUG, "error select, destroying iochan %p", + yaz_log(log_level, "error select, destroying iochan %p", *iochans); } }