- Fixes '+' whitespace
[openocd.git] / src / helper / jim-eventloop.c
index 7858842afaa2fbb82f8d15c016aa42103c9d0483..9d15ddd0da369f0810c3a319e36bf7c9c7e42209 100644 (file)
@@ -44,6 +44,9 @@
  *  - more complete [after] command with [after info] and other subcommands.
  *  - Win32 port
  */
+#ifdef HAVE_CONFIG_H
+#include "config.h"
+#endif
 
 #define JIM_EXTENSION
 #define __JIM_EVENTLOOP_CORE__
 #include "jim-eventloop.h"
 #endif
 
-/* POSIX includes */
-#include <sys/time.h>
-#include <sys/types.h>
-#include <unistd.h>
-#include <sys/select.h>
-#include <errno.h>
-       extern int errno;
-/* --- */
-
 /* File event structure */
 typedef struct Jim_FileEvent {
     void *handle;
@@ -122,7 +116,7 @@ void Jim_DeleteFileHandler(Jim_Interp *interp, void *handle)
     Jim_EventLoop *eventLoop = Jim_GetAssocData(interp, "eventloop");
 
     fe = eventLoop->fileEventHead;
-    while(fe) {
+    while (fe) {
         if (fe->handle == handle) {
             if (prev == NULL)
                 eventLoop->fileEventHead = fe->next;
@@ -200,7 +194,7 @@ jim_wide Jim_DeleteTimeHandler(Jim_Interp *interp, jim_wide id)
     te = eventLoop->timeEventHead;
     if (id >= eventLoop->timeEventNextId) 
        return -2; /* wrong event ID */
-    while(te) {
+    while (te) {
         if (te->id == id) {
             remain  = (te->when_sec - cur_sec) * 1000;
             remain += (te->when_ms  - cur_ms) ;
@@ -230,7 +224,7 @@ static Jim_TimeEvent *JimSearchNearestTimer(Jim_EventLoop *eventLoop)
     Jim_TimeEvent *te = eventLoop->timeEventHead;
     Jim_TimeEvent *nearest = NULL;
 
-    while(te) {
+    while (te) {
         if (!nearest || te->when_sec < nearest->when_sec ||
                 (te->when_sec == nearest->when_sec &&
                  te->when_ms < nearest->when_ms))
@@ -240,6 +234,12 @@ static Jim_TimeEvent *JimSearchNearestTimer(Jim_EventLoop *eventLoop)
     return nearest;
 }
 
+/* --- POSIX version of Jim_ProcessEvents, for now the only available --- */
+#define JIM_FILE_EVENTS 1
+#define JIM_TIME_EVENTS 2
+#define JIM_ALL_EVENTS (JIM_FILE_EVENTS|JIM_TIME_EVENTS)
+#define JIM_DONT_WAIT 4
+
 /* Process every pending time event, then every pending file event
  * (that may be registered by time event callbacks just processed).
  * Without special flags the function sleeps until some file event
@@ -269,7 +269,7 @@ int Jim_ProcessEvents(Jim_Interp *interp, int flags)
 
     /* Check file events */
     while (fe != NULL) {
-        int fd = fileno(fe->handle);
+        int fd = fileno((FILE*)fe->handle);
 
         if (fe->mask & JIM_EVENT_READABLE) 
                FD_SET(fd, &rfds);
@@ -310,7 +310,7 @@ int Jim_ProcessEvents(Jim_Interp *interp, int flags)
                // fprintf(stderr,"No Event\n");
         }
 
-        retval = select(maxfd+1, &rfds, &wfds, &efds, tvp);
+        retval = select(maxfd + 1, &rfds, &wfds, &efds, tvp);
         if (retval < 0) {
           switch (errno) {
               case EINTR:   fprintf(stderr,"select EINTR\n"); break;
@@ -319,8 +319,8 @@ int Jim_ProcessEvents(Jim_Interp *interp, int flags)
           }
        } else if (retval > 0) {
             fe = eventLoop->fileEventHead;
-            while(fe != NULL) {
-                int fd = fileno(fe->handle);
+            while (fe != NULL) {
+                int fd = fileno((FILE*)fe->handle);
 
                // fprintf(stderr,"fd: %d mask: %02x \n",fd,fe->mask);
 
@@ -361,7 +361,7 @@ int Jim_ProcessEvents(Jim_Interp *interp, int flags)
     /* Check time events */
     te = eventLoop->timeEventHead;
     maxId = eventLoop->timeEventNextId-1;
-    while(te) {
+    while (te) {
         long now_sec, now_ms;
         jim_wide id;
 
@@ -400,7 +400,7 @@ void JimELAssocDataDeleProc(Jim_Interp *interp, void *data)
     Jim_EventLoop *eventLoop = data;
 
     fe = eventLoop->fileEventHead;
-    while(fe) {
+    while (fe) {
         next = fe->next;
         if (fe->finalizerProc)
             fe->finalizerProc(interp, fe->clientData);
@@ -409,7 +409,7 @@ void JimELAssocDataDeleProc(Jim_Interp *interp, void *data)
     }
 
     te = eventLoop->timeEventHead;
-    while(te) {
+    while (te) {
         next = te->next;
         if (te->finalizerProc)
             te->finalizerProc(interp, te->clientData);
@@ -516,9 +516,7 @@ static int JimELAfterCommand(Jim_Interp *interp, int argc,
 
 /* This extension is not dynamically loaded, instead it's linked statically,
    which is why we shouldn't use the unspecific 'Jim_OnLoad' name */
-#define Jim_OnLoad Jim_EventLoopOnLoad
-
-int Jim_OnLoad(Jim_Interp *interp)
+int Jim_EventLoopOnLoad(Jim_Interp *interp)
 {
     Jim_EventLoop *eventLoop;
 

Linking to existing account procedure

If you already have an account and want to add another login method you MUST first sign in with your existing account and then change URL to read https://review.openocd.org/login/?link to get to this page again but this time it'll work for linking. Thank you.

SSH host keys fingerprints

1024 SHA256:YKx8b7u5ZWdcbp7/4AeXNaqElP49m6QrwfXaqQGJAOk gerrit-code-review@openocd.zylin.com (DSA)
384 SHA256:jHIbSQa4REvwCFG4cq5LBlBLxmxSqelQPem/EXIrxjk gerrit-code-review@openocd.org (ECDSA)
521 SHA256:UAOPYkU9Fjtcao0Ul/Rrlnj/OsQvt+pgdYSZ4jOYdgs gerrit-code-review@openocd.org (ECDSA)
256 SHA256:A13M5QlnozFOvTllybRZH6vm7iSt0XLxbA48yfc2yfY gerrit-code-review@openocd.org (ECDSA)
256 SHA256:spYMBqEYoAOtK7yZBrcwE8ZpYt6b68Cfh9yEVetvbXg gerrit-code-review@openocd.org (ED25519)
+--[ED25519 256]--+
|=..              |
|+o..   .         |
|*.o   . .        |
|+B . . .         |
|Bo. = o S        |
|Oo.+ + =         |
|oB=.* = . o      |
| =+=.+   + E     |
|. .=o   . o      |
+----[SHA256]-----+
2048 SHA256:0Onrb7/PHjpo6iVZ7xQX2riKN83FJ3KGU0TvI0TaFG4 gerrit-code-review@openocd.zylin.com (RSA)