[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