change log for rtems (2010-07-26)
Gedare Bloom
gedare at gwmail.gwu.edu
Tue Jul 27 20:26:41 UTC 2010
> diff -u rtems/cpukit/posix/src/keycreate.c:1.15 rtems/cpukit/posix/src/keycreate.c:1.16
> --- rtems/cpukit/posix/src/keycreate.c:1.15 Mon Jun 21 17:54:54 2010
> +++ rtems/cpukit/posix/src/keycreate.c Mon Jul 26 17:03:17 2010@@ -1,5 +1,5 @@ /*- * COPYRIGHT (c) 1989-2007.
> + * COPYRIGHT (c) 1989-2010. * On-Line Applications Research Corporation (OAR).
> *
> * The license and distribution terms for this file may be
> @@ -23,8 +23,7 @@ #include <rtems/score/wkspace.h>
> #include <rtems/posix/key.h>
> -/*PAGE
> - *+/* * 17.1.1 Thread-Specific Data Key Create, P1003.1c/Draft 10, p. 163
> */
> @@ -56,52 +55,45 @@ *
> * NOTE: Currently RTEMS Classic API tasks are always enabled.
> */+ for ( the_api = 1; the_api <= OBJECTS_APIS_LAST; the_api++ ) {
> + the_key->Values[ the_api ] = NULL; - for ( the_api = 1;
> - the_api <= OBJECTS_APIS_LAST;
> - the_api++ ) {
> -
> - if ( _Objects_Information_table[ the_api ] ) {
> - #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_KEY_CREATE_INCONSISTENCY
> - );
> - #endif
> - bytes_to_allocate = sizeof( void * ) *
> - (_Objects_Information_table[ the_api ][ 1 ]->maximum + 1);
> - table = _Workspace_Allocate( bytes_to_allocate );
> - if ( !table ) {
> - for ( --the_api;
> - the_api >= 1;
> - the_api-- )
> - _Workspace_Free( the_key->Values[ the_api ] );
> -
> - _POSIX_Keys_Free( the_key );
> - _Thread_Enable_dispatch();
> - return ENOMEM;
> - }
> -
> - the_key->Values[ the_api ] = table;
> - memset( table, '\0', bytes_to_allocate );
> - } else {
> - the_key->Values[ the_api ] = NULL;+ #if defined(RTEMS_DEBUG)
> + /*
> + * Since the removal of ITRON, this cannot occur.
> + */
> + if ( !_Objects_Information_table[ api_index ] )
>
> this should be the_api, not api_index. causes build to fail if debugging
is enabled.
> + continue;
> +
> + /*
> + * 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_KEY_CREATE_INCONSISTENCY
> + );
> + #endif
> +
>
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.rtems.org/pipermail/vc/attachments/20100727/78241bd4/attachment.html>
More information about the vc
mailing list