diff options
author | Tiago Vignatti <tiago.vignatti@nokia.com> | 2010-08-05 16:41:37 +0300 |
---|---|---|
committer | Tiago Vignatti <tiago.vignatti@nokia.com> | 2010-08-05 16:48:12 +0300 |
commit | 08448fe46dc9caf17bf87d05c7f89b107d44a6d8 (patch) | |
tree | 097c6f08c13d3992c228fd7c9bb6cd39519ed8fc | |
parent | 65cb8812c715079f1d92238d5283f309db60fc92 (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.c | 2 | ||||
-rw-r--r-- | os/inputthread.c | 2 |
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)); |