summaryrefslogtreecommitdiff
path: root/src/helper/command.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/helper/command.c')
-rw-r--r--src/helper/command.c15
1 files changed, 15 insertions, 0 deletions
diff --git a/src/helper/command.c b/src/helper/command.c
index 11986228..811328dc 100644
--- a/src/helper/command.c
+++ b/src/helper/command.c
@@ -34,6 +34,7 @@
#include "log.h"
#include "time_support.h"
+#include "jim-eventloop.h"
#include <stdlib.h>
#include <string.h>
@@ -654,6 +655,8 @@ command_context_t* command_init()
add_default_dirs();
+ Jim_EventLoopOnLoad(interp);
+
if (Jim_Eval(interp, startup_tcl)==JIM_ERR)
{
LOG_ERROR("Failed to run startup.tcl (embedded into OpenOCD compile time)");
@@ -705,6 +708,18 @@ int handle_fast_command(struct command_context_s *cmd_ctx, char *cmd, char **arg
return ERROR_OK;
}
+void process_jim_events()
+{
+ static int recursion = 0;
+
+ if (!recursion)
+ {
+ recursion++;
+ Jim_ProcessEvents (interp, JIM_ALL_EVENTS|JIM_DONT_WAIT);
+ recursion--;
+ }
+}
+
void register_jim(struct command_context_s *cmd_ctx, const char *name, int (*cmd)(Jim_Interp *interp, int argc, Jim_Obj *const *argv), const char *help)
{
Jim_CreateCommand(interp, name, cmd, NULL, NULL);