aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--jim-eventloop.c21
-rw-r--r--jim-eventloop.h1
2 files changed, 8 insertions, 14 deletions
diff --git a/jim-eventloop.c b/jim-eventloop.c
index f2a5fd0..a7efdc2 100644
--- a/jim-eventloop.c
+++ b/jim-eventloop.c
@@ -436,21 +436,16 @@ int Jim_ProcessEvents(Jim_Interp *interp, int flags)
fe = eventLoop->fileEventHead;
while (fe != NULL) {
int fd = fileno(fe->handle);
+ int mask = 0;
- if ((fe->mask & JIM_EVENT_READABLE && FD_ISSET(fd, &rfds)) ||
- (fe->mask & JIM_EVENT_WRITABLE && FD_ISSET(fd, &wfds)) ||
- (fe->mask & JIM_EVENT_EXCEPTION && FD_ISSET(fd, &efds))) {
- int mask = 0;
+ if ((fe->mask & JIM_EVENT_READABLE) && FD_ISSET(fd, &rfds))
+ mask |= JIM_EVENT_READABLE;
+ if (fe->mask & JIM_EVENT_WRITABLE && FD_ISSET(fd, &wfds))
+ mask |= JIM_EVENT_WRITABLE;
+ if (fe->mask & JIM_EVENT_EXCEPTION && FD_ISSET(fd, &efds))
+ mask |= JIM_EVENT_EXCEPTION;
- if ((fe->mask & JIM_EVENT_READABLE) && FD_ISSET(fd, &rfds)) {
- mask |= JIM_EVENT_READABLE;
- if ((fe->mask & JIM_EVENT_FEOF) && feof(fe->handle))
- mask |= JIM_EVENT_FEOF;
- }
- if (fe->mask & JIM_EVENT_WRITABLE && FD_ISSET(fd, &wfds))
- mask |= JIM_EVENT_WRITABLE;
- if (fe->mask & JIM_EVENT_EXCEPTION && FD_ISSET(fd, &efds))
- mask |= JIM_EVENT_EXCEPTION;
+ if (mask) {
if (fe->fileProc(interp, fe->clientData, mask) != JIM_OK) {
/* Remove the element on handler error */
Jim_DeleteFileHandler(interp, fe->handle);
diff --git a/jim-eventloop.h b/jim-eventloop.h
index 04fe979..4da5408 100644
--- a/jim-eventloop.h
+++ b/jim-eventloop.h
@@ -61,7 +61,6 @@ typedef void Jim_EventFinalizerProc(Jim_Interp *interp, void *clientData);
#define JIM_EVENT_READABLE 1
#define JIM_EVENT_WRITABLE 2
#define JIM_EVENT_EXCEPTION 4
-#define JIM_EVENT_FEOF 8
JIM_EXPORT void Jim_CreateFileHandler (Jim_Interp *interp,
FILE *handle, int mask,