summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTiago Vignatti <tiago.vignatti@nokia.com>2010-08-05 16:41:37 +0300
committerTiago Vignatti <tiago.vignatti@nokia.com>2010-08-05 16:48:12 +0300
commit08448fe46dc9caf17bf87d05c7f89b107d44a6d8 (patch)
tree097c6f08c13d3992c228fd7c9bb6cd39519ed8fc
parent65cb8812c715079f1d92238d5283f309db60fc92 (diff)
os: don't ignore EAGAIN on both main and input threads select()
Although select man page does not mention it failing with EAGAIN, in practice it seems to be returning this on Linux systems: http://www.google.com/search?q=%22WaitForSomething():+select:+errno%3D11%22 Yeah, that's very very ugly. Anyway, for now let's keep logging when this case happens, with the hope that the input-thread will solve the issue - the cause might be related with SIGIO. Signed-off-by: Tiago Vignatti <tiago.vignatti@nokia.com>
-rw-r--r--os/WaitFor.c2
-rw-r--r--os/inputthread.c2
2 files changed, 2 insertions, 2 deletions
diff --git a/os/WaitFor.c b/os/WaitFor.c
index a50a487f4..3a6c3cbb3 100644
--- a/os/WaitFor.c
+++ b/os/WaitFor.c
@@ -257,7 +257,7 @@ WaitForSomething(int *pClientsReady)
FatalError("WaitForSomething(): select: %s\n",
strerror(selecterr));
}
- else if (selecterr != EINTR && selecterr != EAGAIN)
+ else if (selecterr != EINTR)
{
ErrorF("WaitForSomething(): select: %s\n",
strerror(selecterr));
diff --git a/os/inputthread.c b/os/inputthread.c
index 9d0397280..26f1ef0dc 100644
--- a/os/inputthread.c
+++ b/os/inputthread.c
@@ -113,7 +113,7 @@ WaitForInput(void* argument)
FatalError("WaitForInput(): select: %s\n",
strerror(errno));
}
- else if (errno != EINTR && errno != EAGAIN)
+ else if (errno != EINTR)
{
ErrorF("WaitForInput(): select: %s\n",
strerror(errno));