place event loop inside #ifdef JIM_EMBEDDED.

git-svn-id: svn://svn.berlios.de/openocd/trunk@903 b42882b7-edfa-0310-969c-e2dbd0fdcd60
This commit is contained in:
oharboe 2008-08-11 08:27:04 +00:00
parent 53e1f9cd0f
commit 7e02ebfd62
3 changed files with 12 additions and 3 deletions

View File

@ -6,11 +6,11 @@ noinst_LIBRARIES = libhelper.a
if ECOSBOARD if ECOSBOARD
CONFIGFILES = CONFIGFILES =
else else
CONFIGFILES = options.c jim.c CONFIGFILES = options.c jim.c jim-eventloop.c
endif endif
libhelper_a_SOURCES = binarybuffer.c $(CONFIGFILES) configuration.c log.c command.c time_support.c \ 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 \ noinst_HEADERS = binarybuffer.h configuration.h types.h log.h command.h \
time_support.h replacements.h fileio.h jim.h time_support.h replacements.h fileio.h jim.h

View File

@ -655,8 +655,9 @@ command_context_t* command_init()
add_default_dirs(); add_default_dirs();
#ifdef JIM_EMBEDDED
Jim_EventLoopOnLoad(interp); Jim_EventLoopOnLoad(interp);
#endif
if (Jim_Eval(interp, startup_tcl)==JIM_ERR) if (Jim_Eval(interp, startup_tcl)==JIM_ERR)
{ {
LOG_ERROR("Failed to run startup.tcl (embedded into OpenOCD compile time)"); 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() void process_jim_events()
{ {
#ifdef JIM_EMBEDDED
static int recursion = 0; static int recursion = 0;
if (!recursion) if (!recursion)
@ -718,6 +720,7 @@ void process_jim_events()
Jim_ProcessEvents (interp, JIM_ALL_EVENTS|JIM_DONT_WAIT); Jim_ProcessEvents (interp, JIM_ALL_EVENTS|JIM_DONT_WAIT);
recursion--; 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) 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)

View File

@ -242,6 +242,12 @@ static Jim_TimeEvent *JimSearchNearestTimer(Jim_EventLoop *eventLoop)
return nearest; 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 /* Process every pending time event, then every pending file event
* (that may be registered by time event callbacks just processed). * (that may be registered by time event callbacks just processed).
* Without special flags the function sleeps until some file event * Without special flags the function sleeps until some file event