2008-01-09 Jennifer Averett <jennifer.averett@OARcorp.com>

* posix/src/keycreate.c, rtems/src/eventseize.c,
	score/include/rtems/score/interr.h: Rearranged source to allow more
	test coverage.
This commit is contained in:
Jennifer Averett
2008-01-09 19:32:52 +00:00
parent dee3992f93
commit bbbe941321
4 changed files with 25 additions and 7 deletions

View File

@@ -1,3 +1,9 @@
2008-01-09 Jennifer Averett <jennifer.averett@OARcorp.com>
* posix/src/keycreate.c, rtems/src/eventseize.c,
score/include/rtems/score/interr.h: Rearranged source to allow more
test coverage.
2008-01-09 Joel Sherrill <joel.sherrill@OARcorp.com> 2008-01-09 Joel Sherrill <joel.sherrill@OARcorp.com>
* libcsupport/src/__assert.c: Clean up and make __assert() call * libcsupport/src/__assert.c: Clean up and make __assert() call

View File

@@ -60,8 +60,19 @@ int pthread_key_create(
the_api <= OBJECTS_APIS_LAST; the_api <= OBJECTS_APIS_LAST;
the_api++ ) { the_api++ ) {
if ( _Objects_Information_table[ the_api ] && if ( _Objects_Information_table[ the_api ] ) {
_Objects_Information_table[ the_api ][ 1 ] ) { #if defined(RTEMS_DEBUG)
/*
* Currently all managers are installed if the API is installed.
* This would be a horrible implementation error.
*/
if (_Objects_Information_table[ the_api ][ 1 ] == NULL )
_Internal_error_Occurred(
INTERNAL_ERROR_CORE,
TRUE,
INTERNAL_ERROR_IMPLEMENTATION
);
#endif
bytes_to_allocate = sizeof( void * ) * bytes_to_allocate = sizeof( void * ) *
(_Objects_Information_table[ the_api ][ 1 ]->maximum + 1); (_Objects_Information_table[ the_api ][ 1 ]->maximum + 1);
table = _Workspace_Allocate( bytes_to_allocate ); table = _Workspace_Allocate( bytes_to_allocate );

View File

@@ -117,17 +117,17 @@ void _Event_Seize(
* This cannot happen. It indicates that this routine did not * This cannot happen. It indicates that this routine did not
* enter the synchronization states above. * enter the synchronization states above.
*/ */
return; break;
case EVENT_SYNC_NOTHING_HAPPENED: case EVENT_SYNC_NOTHING_HAPPENED:
_ISR_Enable( level ); _ISR_Enable( level );
return; break;
case EVENT_SYNC_TIMEOUT: case EVENT_SYNC_TIMEOUT:
executing->Wait.return_code = RTEMS_TIMEOUT; executing->Wait.return_code = RTEMS_TIMEOUT;
_ISR_Enable( level ); _ISR_Enable( level );
_Thread_Unblock( executing ); _Thread_Unblock( executing );
return; break;
case EVENT_SYNC_SATISFIED: case EVENT_SYNC_SATISFIED:
if ( _Watchdog_Is_active( &executing->Timer ) ) { if ( _Watchdog_Is_active( &executing->Timer ) ) {
@@ -137,6 +137,6 @@ void _Event_Seize(
} else } else
_ISR_Enable( level ); _ISR_Enable( level );
_Thread_Unblock( executing ); _Thread_Unblock( executing );
return; break;
} }
} }

View File

@@ -62,7 +62,8 @@ typedef enum {
INTERNAL_ERROR_OUT_OF_PROXIES, INTERNAL_ERROR_OUT_OF_PROXIES,
INTERNAL_ERROR_INVALID_GLOBAL_ID, INTERNAL_ERROR_INVALID_GLOBAL_ID,
INTERNAL_ERROR_BAD_STACK_HOOK, INTERNAL_ERROR_BAD_STACK_HOOK,
INTERNAL_ERROR_BAD_ATTRIBUTES INTERNAL_ERROR_BAD_ATTRIBUTES,
INTERNAL_ERROR_IMPLEMENTATION_KEY_CREATE_INCONSISTENCY
} Internal_errors_Core_list; } Internal_errors_Core_list;
/** /**