projects
/
yaz-moved-to-github.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Describe new comman xmles. Update doc for Item Update.
[yaz-moved-to-github.git]
/
src
/
eventl.c
diff --git
a/src/eventl.c
b/src/eventl.c
index
6fa5b98
..
5084f2d
100644
(file)
--- a/
src/eventl.c
+++ b/
src/eventl.c
@@
-1,8
+1,8
@@
/*
/*
- * Copyright (c) 1995-2004, Index Data
+ * Copyright (C) 1995-2005, Index Data ApS
* See the file LICENSE for details.
*
* See the file LICENSE for details.
*
- * $Id: eventl.c,v 1.2 2004-10-15 00:19:00 adam Exp $
+ * $Id: eventl.c,v 1.8 2005-03-01 20:37:01 adam Exp $
*/
/**
*/
/**
@@
-13,16
+13,27
@@
* Server. It uses select(2).
*/
* Server. It uses select(2).
*/
-#include <stdio.h>
#include <assert.h>
#include <assert.h>
+#include <errno.h>
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+
+#if HAVE_SYS_TYPES_H
+#include <sys/types.h>
+#endif
+#if HAVE_SYS_TIME_H
+#include <sys/time.h>
+#endif
#ifdef WIN32
#include <winsock.h>
#ifdef WIN32
#include <winsock.h>
-#else
+#endif
+#if HAVE_UNISTD_H
#include <unistd.h>
#endif
#include <unistd.h>
#endif
-#include <stdlib.h>
-#include <errno.h>
-#include <string.h>
+#if HAVE_SYS_SELECT_H
+#include <sys/select.h>
+#endif
#include <yaz/yconfig.h>
#include <yaz/log.h>
#include <yaz/yconfig.h>
#include <yaz/log.h>
@@
-41,10
+52,19
@@
#define YAZ_EV_SELECT select
#endif
#define YAZ_EV_SELECT select
#endif
-IOCHAN iochan_create(int fd, IOC_CALLBACK cb, int flags)
+static int log_level=0;
+static int log_level_initialized=0;
+
+IOCHAN iochan_create(int fd, IOC_CALLBACK cb, int flags, int chan_id)
{
IOCHAN new_iochan;
{
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;
if (!(new_iochan = (IOCHAN)xmalloc(sizeof(*new_iochan))))
return 0;
new_iochan->destroyed = 0;
@@
-54,6
+74,7
@@
IOCHAN iochan_create(int fd, IOC_CALLBACK cb, int flags)
new_iochan->force_event = 0;
new_iochan->last_event = new_iochan->max_idle = 0;
new_iochan->next = NULL;
new_iochan->force_event = 0;
new_iochan->last_event = new_iochan->max_idle = 0;
new_iochan->next = NULL;
+ new_iochan->chan_id = chan_id;
return new_iochan;
}
return new_iochan;
}
@@
-81,7
+102,7
@@
int event_loop(IOCHAN *iochans)
for (p = *iochans; p; p = p->next)
{
time_t w, ftime;
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 */
p->fd, p->flags, p->force_event);
if (p->force_event)
to.tv_sec = 0; /* polling select */
@@
-104,9
+125,9
@@
int event_loop(IOCHAN *iochans)
to.tv_sec = w;
}
}
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);
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)
if (res < 0)
{
if (yaz_errno() == EINTR)
@@
-127,7
+148,7
@@
int event_loop(IOCHAN *iochans)
cs_close(conn);
destroy_association(assoc);
iochan_destroy(*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);
}
}
*iochans);
}
}