summaryrefslogtreecommitdiffstats
path: root/cpukit/libmisc
diff options
context:
space:
mode:
authorJoel Sherrill <joel.sherrill@OARcorp.com>2007-09-04 23:19:47 +0000
committerJoel Sherrill <joel.sherrill@OARcorp.com>2007-09-04 23:19:47 +0000
commit70443b40345c694ddc1f685657bd3246e79d8ba7 (patch)
tree6561c57d605a888e049d356a791310ab97318202 /cpukit/libmisc
parent2007-09-04 Joel Sherrill <joel.sherrill@oarcorp.com> (diff)
downloadrtems-70443b40345c694ddc1f685657bd3246e79d8ba7.tar.bz2
2007-09-04 Joel Sherrill <joel.sherrill@oarcorp.com>
* 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.
Diffstat (limited to 'cpukit/libmisc')
-rw-r--r--cpukit/libmisc/monitor/mon-monitor.c19
-rw-r--r--cpukit/libmisc/monitor/mon-object.c2
-rw-r--r--cpukit/libmisc/monitor/monitor.h20
3 files changed, 24 insertions, 17 deletions
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 */