From b44e3f59721a74d2c99a7bac337114f677564b99 Mon Sep 17 00:00:00 2001 From: Adam Dickmeiss Date: Mon, 2 Jul 2012 15:51:10 +0200 Subject: [PATCH] SocketManager::processEvent returns 1 on EINTR This changes behavior a bit, but ensures that it returns if we receive a signal. --- src/yaz-socket-manager.cpp | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/yaz-socket-manager.cpp b/src/yaz-socket-manager.cpp index c3fc491..2cb2fde 100644 --- a/src/yaz-socket-manager.cpp +++ b/src/yaz-socket-manager.cpp @@ -253,7 +253,10 @@ int SocketManager::processEvent() while ((res = yaz_poll(fds, no_fds, timeout, 0)) < 0 && pass < 10) { if (errno == EINTR) - continue; + { + delete [] fds; + return 1; + } yaz_log(YLOG_ERRNO|YLOG_WARN, "yaz_poll"); yaz_log(YLOG_WARN, "errno=%d timeout=%d", errno, timeout); } -- 1.7.10.4