diff options
Diffstat (limited to 'cpukit')
-rw-r--r-- | cpukit/ChangeLog | 6 | ||||
-rw-r--r-- | cpukit/libmisc/monitor/mon-monitor.c | 19 | ||||
-rw-r--r-- | cpukit/libmisc/monitor/mon-object.c | 2 | ||||
-rw-r--r-- | cpukit/libmisc/monitor/monitor.h | 20 |
4 files changed, 30 insertions, 17 deletions
diff --git a/cpukit/ChangeLog b/cpukit/ChangeLog index a0ea55cd5d..fa3e0b4c35 100644 --- a/cpukit/ChangeLog +++ b/cpukit/ChangeLog @@ -1,5 +1,11 @@ 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. + +2007-09-04 Joel Sherrill <joel.sherrill@oarcorp.com> + * libmisc/untar/untar.c, libmisc/untar/untar.h: Add const to char *. Use printk. 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 */ |