From 2a219122c883585f7d62268a512b9c11f9373fee Mon Sep 17 00:00:00 2001 From: oharboe Date: Thu, 8 Oct 2009 10:47:23 +0000 Subject: =?UTF-8?q?2009-10-08=20=C3=98yvind=20Harboe?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * jim.c/h: bring in changes from OpenOCD. Warnings and some bug fixes. Copyright list updated in jim.c --- jim-eventloop.c | 21 ++++++++++++++------- 1 file changed, 14 insertions(+), 7 deletions(-) (limited to 'jim-eventloop.c') 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; } -- cgit v1.1