forked from Imagelibrary/rtems
2011-04-07 Joel Sherrill <joel.sherrill@oarcorp.com>
* shared/main_clocktick.c, shared/main_semcreate.c, shared/main_semdelete.c, shared/main_semflush.c, shared/main_semobtain.c, shared/main_semrelease.c, shared/main_taskcreate.c, shared/main_taskdelete.c, shared/main_taskmode.c, shared/main_taskpriority.c, shared/main_taskresume.c, shared/main_tasksuspend.c, shared/main_taskwakeafter.c, shared/schedsim_shell.h: Compiles now and do not core dump when RTEMS is not initialized.
This commit is contained in:
@@ -1,3 +1,14 @@
|
||||
2011-04-07 Joel Sherrill <joel.sherrill@oarcorp.com>
|
||||
|
||||
* shared/main_clocktick.c, shared/main_semcreate.c,
|
||||
shared/main_semdelete.c, shared/main_semflush.c,
|
||||
shared/main_semobtain.c, shared/main_semrelease.c,
|
||||
shared/main_taskcreate.c, shared/main_taskdelete.c,
|
||||
shared/main_taskmode.c, shared/main_taskpriority.c,
|
||||
shared/main_taskresume.c, shared/main_tasksuspend.c,
|
||||
shared/main_taskwakeafter.c, shared/schedsim_shell.h: Compiles now
|
||||
and do not core dump when RTEMS is not initialized.
|
||||
|
||||
2010-12-17 Joel Sherrill <joel.sherrill@oarcorp.com>
|
||||
Jennifer Averett <jennifer.averett@oarcorp.com>
|
||||
|
||||
|
||||
@@ -33,6 +33,8 @@ int rtems_shell_main_clock_tick(
|
||||
unsigned long tmp;
|
||||
rtems_interval t;
|
||||
|
||||
CHECK_RTEMS_IS_UP();
|
||||
|
||||
if (argc != 2) {
|
||||
fprintf( stderr, "%s: Usage ticks\n", argv[0] );
|
||||
return -1;
|
||||
|
||||
@@ -41,6 +41,8 @@ int rtems_shell_main_semaphore_create(
|
||||
char option;
|
||||
int value;
|
||||
|
||||
CHECK_RTEMS_IS_UP();
|
||||
|
||||
ceiling = 0;
|
||||
attr = RTEMS_DEFAULT_ATTRIBUTES;
|
||||
value = 0;
|
||||
|
||||
@@ -31,6 +31,8 @@ int rtems_shell_main_semaphore_delete(
|
||||
rtems_id id;
|
||||
rtems_status_code status;
|
||||
|
||||
CHECK_RTEMS_IS_UP();
|
||||
|
||||
if (argc != 2) {
|
||||
fprintf( stderr, "%s: Usage [name|id]\n", argv[0] );
|
||||
return -1;
|
||||
|
||||
@@ -31,6 +31,8 @@ int rtems_shell_main_semaphore_flush(
|
||||
rtems_id id;
|
||||
rtems_status_code status;
|
||||
|
||||
CHECK_RTEMS_IS_UP();
|
||||
|
||||
if (argc != 2) {
|
||||
fprintf( stderr, "%s: Usage [name|id]\n", argv[0] );
|
||||
return -1;
|
||||
|
||||
@@ -36,6 +36,8 @@ int rtems_shell_main_semaphore_obtain(
|
||||
|
||||
/* XXX for now, do not support polling */
|
||||
|
||||
CHECK_RTEMS_IS_UP();
|
||||
|
||||
if (argc != 3) {
|
||||
fprintf( stderr, "%s: Usage name|id timeout\n", argv[0] );
|
||||
return -1;
|
||||
|
||||
@@ -31,6 +31,8 @@ int rtems_shell_main_semaphore_release(
|
||||
rtems_id id;
|
||||
rtems_status_code status;
|
||||
|
||||
CHECK_RTEMS_IS_UP();
|
||||
|
||||
if (argc != 2) {
|
||||
fprintf( stderr, "%s: Usage [name|id]\n", argv[0] );
|
||||
return -1;
|
||||
|
||||
@@ -39,6 +39,8 @@ int rtems_shell_main_task_create(
|
||||
rtems_status_code status;
|
||||
long priority;
|
||||
|
||||
CHECK_RTEMS_IS_UP();
|
||||
|
||||
if (argc != 3) {
|
||||
fprintf( stderr, "%s: Usage name priority\n", argv[0] );
|
||||
return -1;
|
||||
|
||||
@@ -31,6 +31,8 @@ int rtems_shell_main_task_delete(
|
||||
rtems_id id;
|
||||
rtems_status_code status;
|
||||
|
||||
CHECK_RTEMS_IS_UP();
|
||||
|
||||
if (argc != 2) {
|
||||
fprintf( stderr, "%s: Usage [name|id]\n", argv[0] );
|
||||
return -1;
|
||||
|
||||
@@ -52,6 +52,8 @@ int rtems_shell_main_task_mode(
|
||||
struct getopt_data getopt_reent;
|
||||
char option;
|
||||
|
||||
CHECK_RTEMS_IS_UP();
|
||||
|
||||
mode = 0;
|
||||
mask = 0;
|
||||
memset(&getopt_reent, 0, sizeof(getopt_data));
|
||||
|
||||
@@ -34,6 +34,8 @@ int rtems_shell_main_task_priority(
|
||||
rtems_task_priority old;
|
||||
rtems_task_priority new;
|
||||
|
||||
CHECK_RTEMS_IS_UP();
|
||||
|
||||
if (argc != 3) {
|
||||
fprintf( stderr, "%s: Usage [name|id] priority\n", argv[0] );
|
||||
return -1;
|
||||
@@ -42,7 +44,7 @@ int rtems_shell_main_task_priority(
|
||||
if ( lookup_task( argv[1], &id ) )
|
||||
return -1;
|
||||
|
||||
if ( rtems_string_to_unsigned_long( argv[1], &tmp, NULL, 0) ) {
|
||||
if ( rtems_string_to_unsigned_long( argv[2], &tmp, NULL, 0) ) {
|
||||
fprintf( stderr, "Argument (%s) is not a number\n", argv[2] );
|
||||
return 1;
|
||||
}
|
||||
@@ -63,7 +65,10 @@ int rtems_shell_main_task_priority(
|
||||
return -1;
|
||||
}
|
||||
|
||||
printf("Task (0x%08x) Chain Priority from %d to %d\n", id, old, new );
|
||||
if ( new != 0 )
|
||||
printf("Task (0x%08x) Change Priority from %d to %d\n", id, old, new );
|
||||
else
|
||||
printf("Task (0x%08x) Current Priority is %d\n", id, new );
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
@@ -31,6 +31,8 @@ int rtems_shell_main_task_resume(
|
||||
rtems_id id;
|
||||
rtems_status_code status;
|
||||
|
||||
CHECK_RTEMS_IS_UP();
|
||||
|
||||
if (argc != 2) {
|
||||
fprintf( stderr, "%s: Usage [name|id]\n", argv[0] );
|
||||
return -1;
|
||||
|
||||
@@ -31,6 +31,8 @@ int rtems_shell_main_task_suspend(
|
||||
rtems_id id;
|
||||
rtems_status_code status;
|
||||
|
||||
CHECK_RTEMS_IS_UP();
|
||||
|
||||
if (argc != 2) {
|
||||
fprintf( stderr, "%s: Usage [name|id]\n", argv[0] );
|
||||
return -1;
|
||||
|
||||
@@ -33,6 +33,8 @@ int rtems_shell_main_task_wake_after(
|
||||
unsigned long tmp;
|
||||
rtems_id self;
|
||||
|
||||
CHECK_RTEMS_IS_UP();
|
||||
|
||||
if (argc != 2) {
|
||||
fprintf( stderr, "%s: Usage ticks\n", argv[0] );
|
||||
return -1;
|
||||
|
||||
@@ -20,6 +20,14 @@
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
#define CHECK_RTEMS_IS_UP() \
|
||||
do { \
|
||||
if ( _System_state_Current != SYSTEM_STATE_UP ) { \
|
||||
fprintf( stderr, "RTEMS is not initialized yet\n" ); \
|
||||
return -1; \
|
||||
} \
|
||||
} while (0)
|
||||
|
||||
void PRINT_EXECUTING(void);
|
||||
void PRINT_HEIR(void);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user