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:
Joel Sherrill
2011-04-07 18:12:41 +00:00
parent e69369c7cd
commit b467831a38
15 changed files with 50 additions and 2 deletions

View File

@@ -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>

View File

@@ -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;

View File

@@ -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;

View File

@@ -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;

View File

@@ -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;

View File

@@ -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;

View File

@@ -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;

View File

@@ -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;

View File

@@ -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;

View File

@@ -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));

View File

@@ -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;
}

View File

@@ -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;

View File

@@ -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;

View File

@@ -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;

View File

@@ -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);