From 70443b40345c694ddc1f685657bd3246e79d8ba7 Mon Sep 17 00:00:00 2001 From: Joel Sherrill Date: Tue, 4 Sep 2007 23:19:47 +0000 Subject: 2007-09-04 Joel Sherrill * libmisc/monitor/mon-monitor.c, libmisc/monitor/mon-object.c, libmisc/monitor/monitor.h: Merge minor parts of Thomas' improvements that are needed by osmonweb. --- cpukit/libmisc/monitor/mon-monitor.c | 19 +++++++++---------- cpukit/libmisc/monitor/mon-object.c | 2 +- cpukit/libmisc/monitor/monitor.h | 20 ++++++++++++++------ 3 files changed, 24 insertions(+), 17 deletions(-) (limited to 'cpukit/libmisc') diff --git a/cpukit/libmisc/monitor/mon-monitor.c b/cpukit/libmisc/monitor/mon-monitor.c index d7e1089703..b48a7777da 100644 --- a/cpukit/libmisc/monitor/mon-monitor.c +++ b/cpukit/libmisc/monitor/mon-monitor.c @@ -578,16 +578,15 @@ rtems_monitor_init( if (monitor_flags & RTEMS_MONITOR_GLOBAL) rtems_monitor_server_init(monitor_flags); - /* - * Start the monitor task itself - */ - - status = rtems_task_start(rtems_monitor_task_id, - rtems_monitor_task, - monitor_flags); - if (status != RTEMS_SUCCESSFUL) - { + if (!(monitor_flags & RTEMS_MONITOR_NOTASK)) { + /* + * Start the monitor task itself + */ + status = rtems_task_start( + rtems_monitor_task_id, rtems_monitor_task, monitor_flags); + if (status != RTEMS_SUCCESSFUL) { rtems_error(status, "could not start monitor"); return; - } + } + } } diff --git a/cpukit/libmisc/monitor/mon-object.c b/cpukit/libmisc/monitor/mon-object.c index 472b5c2d88..69027e6e64 100644 --- a/cpukit/libmisc/monitor/mon-object.c +++ b/cpukit/libmisc/monitor/mon-object.c @@ -315,7 +315,7 @@ rtems_monitor_object_cmd( { int arg; rtems_monitor_object_info_t *info = 0; - rtems_monitor_object_type_t type ; + rtems_monitor_object_type_t type; /* what is the default type? */ type = command_arg->monitor_object; diff --git a/cpukit/libmisc/monitor/monitor.h b/cpukit/libmisc/monitor/monitor.h index 581ebc286c..d80df9d8ee 100644 --- a/cpukit/libmisc/monitor/monitor.h +++ b/cpukit/libmisc/monitor/monitor.h @@ -18,7 +18,7 @@ extern "C" { #endif /* Forward decls from symbols.h */ -typedef struct _rtems_symbol_t rtems_symbol_t ; +typedef struct _rtems_symbol_t rtems_symbol_t; typedef struct _rtems_symbol_table_t rtems_symbol_table_t; /* @@ -52,7 +52,9 @@ typedef enum { #define RTEMS_MONITOR_SUSPEND 0x0001 /* suspend monitor on startup */ #define RTEMS_MONITOR_GLOBAL 0x0002 /* monitor should be global */ - +#define RTEMS_MONITOR_NOTASK 0x0004 /* do not start monitor task */ +#define RTEMS_MONITOR_NOSYMLOAD 0x0008 /* do not load symbols */ +#define RTEMS_MONITOR_WAITQUIT 0x0010 /* wait for monitor task to terminate */ /* * Public interfaces for RTEMS data structures monitor is aware of. @@ -283,10 +285,10 @@ typedef void ( *rtems_monitor_command_function_t )( ); union _rtems_monitor_command_arg_t { - rtems_monitor_object_type_t monitor_object ; - rtems_status_code status_code ; - rtems_symbol_table_t **symbol_table ; - rtems_monitor_command_entry_t *monitor_command_entry ; + rtems_monitor_object_type_t monitor_object; + rtems_status_code status_code; + rtems_symbol_table_t **symbol_table; + rtems_monitor_command_entry_t *monitor_command_entry; }; struct rtems_monitor_command_entry_s { @@ -428,6 +430,12 @@ uint32_t rtems_monitor_symbol_dump(rtems_monitor_symbol_t *, boolean); void rtems_monitor_symbol_cmd(int, char **, rtems_monitor_command_arg_t*, boolean); +/* mon-object.c */ +rtems_monitor_object_info_t *rtems_monitor_object_lookup( + rtems_monitor_object_type_t type +); + +/* shared data */ extern rtems_symbol_table_t *rtems_monitor_symbols; /* FIXME: This should not be here */ -- cgit v1.2.3