aboutsummaryrefslogtreecommitdiff
path: root/jim-eventloop.c
diff options
context:
space:
mode:
Diffstat (limited to 'jim-eventloop.c')
-rw-r--r--jim-eventloop.c21
1 files changed, 14 insertions, 7 deletions
diff --git a/jim-eventloop.c b/jim-eventloop.c
index a024a9f..2dbb47c 100644
--- a/jim-eventloop.c
+++ b/jim-eventloop.c
@@ -277,7 +277,8 @@ int Jim_ProcessEvents(Jim_Interp *interp, int flags)
while (fe != NULL) {
int fd = fileno(fe->handle);
- if (fe->mask & JIM_EVENT_READABLE) FD_SET(fd, &rfds);
+ if (fe->mask & JIM_EVENT_READABLE)
+ FD_SET(fd, &rfds);
if (fe->mask & JIM_EVENT_WRITABLE) FD_SET(fd, &wfds);
if (fe->mask & JIM_EVENT_EXCEPTION) FD_SET(fd, &efds);
if (maxfd < fd) maxfd = fd;
@@ -335,12 +336,11 @@ int Jim_ProcessEvents(Jim_Interp *interp, int flags)
{
int mask = 0;
- if ((fe->mask & JIM_EVENT_READABLE) && FD_ISSET(fd, &rfds)) {
+ 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_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))
@@ -520,10 +520,11 @@ static int JimELAfterCommand(Jim_Interp *interp, int argc,
return JIM_OK;
}
-int Jim_eventloopInit(Jim_Interp *interp)
+int Jim_OnLoad(Jim_Interp *interp)
{
Jim_EventLoop *eventLoop;
+ Jim_InitExtension(interp);
if (Jim_PackageProvide(interp, "eventloop", "1.0", JIM_ERRMSG) != JIM_OK)
return JIM_ERR;
@@ -536,5 +537,11 @@ int Jim_eventloopInit(Jim_Interp *interp)
Jim_CreateCommand(interp, "vwait", JimELVwaitCommand, NULL, NULL);
Jim_CreateCommand(interp, "after", JimELAfterCommand, NULL, NULL);
+ /* Export events API */
+ Jim_RegisterApi(interp, "Jim_CreateFileHandler", Jim_CreateFileHandler);
+ Jim_RegisterApi(interp, "Jim_DeleteFileHandler", Jim_DeleteFileHandler);
+ Jim_RegisterApi(interp, "Jim_CreateTimeHandler", Jim_CreateTimeHandler);
+ Jim_RegisterApi(interp, "Jim_DeleteTimeHandler", Jim_DeleteTimeHandler);
+ Jim_RegisterApi(interp, "Jim_ProcessEvents", Jim_ProcessEvents);
return JIM_OK;
}