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
Add Zthes tag-set -- where was it?!
[yaz-moved-to-github.git]
/
server
/
eventl.c
diff --git
a/server/eventl.c
b/server/eventl.c
index
0ba7f4a
..
ce38bd8
100644
(file)
--- a/
server/eventl.c
+++ b/
server/eventl.c
@@
-3,7
+3,7
@@
* See the file LICENSE for details.
* Sebastian Hammer, Adam Dickmeiss
*
* See the file LICENSE for details.
* Sebastian Hammer, Adam Dickmeiss
*
- * $Id: eventl.c,v 1.32 2002-09-25 12:37:07 adam Exp $
+ * $Id: eventl.c,v 1.34 2002-11-26 16:56:21 adam Exp $
*/
#include <stdio.h>
*/
#include <stdio.h>
@@
-60,6
+60,11
@@
int event_loop(IOCHAN *iochans)
static struct timeval nullto = {0, 0}, to;
struct timeval *timeout;
static struct timeval nullto = {0, 0}, to;
struct timeval *timeout;
+ if (statserv_must_terminate())
+ {
+ for (p = *iochans; p; p = p->next)
+ p->force_event = EVENT_TIMEOUT;
+ }
FD_ZERO(&in);
FD_ZERO(&out);
FD_ZERO(&except);
FD_ZERO(&in);
FD_ZERO(&out);
FD_ZERO(&except);
@@
-84,7
+89,14
@@
int event_loop(IOCHAN *iochans)
if (res < 0)
{
if (yaz_errno() == EINTR)
if (res < 0)
{
if (yaz_errno() == EINTR)
- continue;
+ {
+ if (statserv_must_terminate())
+ {
+ for (p = *iochans; p; p = p->next)
+ p->force_event = EVENT_TIMEOUT;
+ }
+ continue;
+ }
else
{
/* Destroy the first member in the chain, and try again */
else
{
/* Destroy the first member in the chain, and try again */