[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[tyndur-devel] [PATCH] libc: POSIX: select und EOF
! libc: POSIX: Fuer select() gilt eine Datei auch dann als lesbar, wenn
der Dateizeiger am Ende ist und read nichts mehr zurueckgibt.
Signed-off-by: Kevin Wolf <kevin@xxxxxxxxxx>
---
src/modules/lib/posix/select.c | 6 ++++++
1 files changed, 6 insertions(+), 0 deletions(-)
diff --git a/src/modules/lib/posix/select.c b/src/modules/lib/posix/select.c
index 9ae365c..0508577 100644
--- a/src/modules/lib/posix/select.c
+++ b/src/modules/lib/posix/select.c
@@ -101,6 +101,12 @@ int select(int number_fds, fd_set* readfds, fd_set* writefds,
f = fdopen(i, NULL);
if (f != NULL) {
+ // Eine Datei, die zu Ende ist, gilt als lesbar
+ if (feof(f)) {
+ ret++;
+ continue;
+ }
+
c = fgetc(f);
if (c == EOF) {
*rd &= ~(1 << i);
--
1.6.0.2