From 7e02ebfd62c3089ef32476ce7e4825b5ec8e1585 Mon Sep 17 00:00:00 2001 From: oharboe Date: Mon, 11 Aug 2008 08:27:04 +0000 Subject: place event loop inside #ifdef JIM_EMBEDDED. git-svn-id: svn://svn.berlios.de/openocd/trunk@903 b42882b7-edfa-0310-969c-e2dbd0fdcd60 --- src/helper/Makefile.am | 4 ++-- src/helper/command.c | 5 ++++- src/helper/jim-eventloop.c | 6 ++++++ 3 files changed, 12 insertions(+), 3 deletions(-) diff --git a/src/helper/Makefile.am b/src/helper/Makefile.am index 2165fad9..9d9a79c5 100644 --- a/src/helper/Makefile.am +++ b/src/helper/Makefile.am @@ -6,11 +6,11 @@ noinst_LIBRARIES = libhelper.a if ECOSBOARD CONFIGFILES = else -CONFIGFILES = options.c jim.c +CONFIGFILES = options.c jim.c jim-eventloop.c endif libhelper_a_SOURCES = binarybuffer.c $(CONFIGFILES) configuration.c log.c command.c time_support.c \ - replacements.c fileio.c jim-eventloop.c startup_tcl.c + replacements.c fileio.c startup_tcl.c noinst_HEADERS = binarybuffer.h configuration.h types.h log.h command.h \ time_support.h replacements.h fileio.h jim.h diff --git a/src/helper/command.c b/src/helper/command.c index 811328dc..7dc62dd5 100644 --- a/src/helper/command.c +++ b/src/helper/command.c @@ -655,8 +655,9 @@ command_context_t* command_init() add_default_dirs(); +#ifdef JIM_EMBEDDED Jim_EventLoopOnLoad(interp); - +#endif if (Jim_Eval(interp, startup_tcl)==JIM_ERR) { LOG_ERROR("Failed to run startup.tcl (embedded into OpenOCD compile time)"); @@ -710,6 +711,7 @@ int handle_fast_command(struct command_context_s *cmd_ctx, char *cmd, char **arg void process_jim_events() { +#ifdef JIM_EMBEDDED static int recursion = 0; if (!recursion) @@ -718,6 +720,7 @@ void process_jim_events() Jim_ProcessEvents (interp, JIM_ALL_EVENTS|JIM_DONT_WAIT); recursion--; } +#endif } 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) diff --git a/src/helper/jim-eventloop.c b/src/helper/jim-eventloop.c index 73bc29b4..1e0f4774 100644 --- a/src/helper/jim-eventloop.c +++ b/src/helper/jim-eventloop.c @@ -242,6 +242,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 -- cgit v1.2.3