<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>change log for rtems (2010-07-26)</title>
</head>
<body text='#000000' bgcolor='#ffffff'>
<a name='cs1'></a>
<table border='0' cellspacing='0' cellpadding='5' width='100%' bgcolor='#eeeeee'>
<tr><td colspan='3' bgcolor='#dddddd'>
<font color='#bb2222'><strong>joel</strong></font>
</td></tr>
<tr><td colspan='3' bgcolor='#dddddd'><pre>2010-07-26 Joel Sherrill <joel.sherrill@oarcorp.com>
* sapi/include/confdefs.h: Do not cover up user configuation mistakes
on filesystems -- cite them as errors.
</pre></td></tr>
<tr><td width='1%'><a href="http://www.rtems.com/cgi-bin/viewcvs.cgi//rtems/cpukit/ChangeLog.diff?r1=text&tr1=1.2521&r2=text&tr2=1.2522&diff_format=h">M</a></td><td width='1%'>1.2522</td><td width='100%'>cpukit/ChangeLog</td></tr>
<tr><td width='1%'><a href="http://www.rtems.com/cgi-bin/viewcvs.cgi//rtems/cpukit/sapi/include/confdefs.h.diff?r1=text&tr1=1.145&r2=text&tr2=1.146&diff_format=h">M</a></td><td width='1%'>1.146</td><td width='100%'>cpukit/sapi/include/confdefs.h</td></tr>
</table>
<pre>
<font color='#006600'>diff -u rtems/cpukit/ChangeLog:1.2521 rtems/cpukit/ChangeLog:1.2522
--- rtems/cpukit/ChangeLog:1.2521 Mon Jul 26 15:27:03 2010
+++ rtems/cpukit/ChangeLog Mon Jul 26 16:28:06 2010
</font><font color='#997700'>@@ -1,5 +1,10 @@
</font> 2010-07-26 Joel Sherrill <joel.sherrill@oarcorp.com>
<font color='#000088'>+ * sapi/include/confdefs.h: Do not cover up user configuation mistakes
+ on filesystems -- cite them as errors.
+
+2010-07-26 Joel Sherrill <joel.sherrill@oarcorp.com>
+
</font> * rtems/src/ratemonperiod.c: Remove tabs.
2010-07-26 Joel Sherrill <joel.sherrilL@OARcorp.com>
<font color='#006600'>diff -u rtems/cpukit/sapi/include/confdefs.h:1.145 rtems/cpukit/sapi/include/confdefs.h:1.146
--- rtems/cpukit/sapi/include/confdefs.h:1.145 Thu Jul 1 04:51:14 2010
+++ rtems/cpukit/sapi/include/confdefs.h Mon Jul 26 16:28:06 2010
</font><font color='#997700'>@@ -223,27 +223,27 @@
</font> #endif
/*
<font color='#880000'>- * If disabling the file system undef everything. If DEVFS as the base
- * filesystem undefine all other filesystems because you cannot mount other
- * filesystems. Same for miniIMFS.
- */
- #if defined(CONFIGURE_APPLICATION_DISABLE_FILESYSTEM) || \
- defined(CONFIGURE_USE_DEVFS_AS_BASE_FILESYSTEM) || \
- defined(CONFIGURE_USE_MINIIMFS_AS_BASE_FILESYSTEM)
- #if defined(CONFIGURE_APPLICATION_DISABLE_FILESYSTEM)
- #undef CONFIGURE_USE_DEVFS_AS_BASE_FILESYSTEM
- #undef CONFIGURE_USE_MINIIMFS_AS_BASE_FILESYSTEM
- #elif defined(CONFIGURE_USE_DEVFS_AS_BASE_FILESYSTEM)
- #undef CONFIGURE_USE_MINIIMFS_AS_BASE_FILESYSTEM
- #endif
- #undef CONFIGURE_FILESYSTEM_MINIIMFS
- #undef CONFIGURE_FILESYSTEM_IMFS
- #undef CONFIGURE_FILESYSTEM_DEVFS
- #undef CONFIGURE_FILESYSTEM_TFTPFS
- #undef CONFIGURE_FILESYSTEM_FTPFS
- #undef CONFIGURE_FILESYSTEM_NFS
- #undef CONFIGURE_FILESYSTEM_DOSFS
- #undef CONFIGURE_FILESYSTEM_RFS
</font><font color='#000088'>+ * If disabling the file system, give a compile error if the user has
+ * configured other filesystem parameters.
+ */
+ #if defined(CONFIGURE_APPLICATION_DISABLE_FILESYSTEM)
+ #if defined(CONFIGURE_USE_DEVFS_AS_BASE_FILESYSTEM) || \
+ defined(CONFIGURE_USE_MINIIMFS_AS_BASE_FILESYSTEM)
+ #error "Filesystem disabled but a base filesystem configured."
+ #endif
+
+ #if defined(CONFIGURE_FILESYSTEM_MINIIMFS) || \
+ defined(CONFIGURE_FILESYSTEM_IMFS) || \
+ defined(CONFIGURE_FILESYSTEM_DEVFS) || \
+ defined(CONFIGURE_FILESYSTEM_TFTPFS) || \
+ defined(CONFIGURE_FILESYSTEM_FTPFS) || \
+ defined(CONFIGURE_FILESYSTEM_NFS) || \
+ defined(CONFIGURE_FILESYSTEM_DOSFS) || \
+ defined(CONFIGURE_FILESYSTEM_RFS)
+ #error "Configured filessystems but root filesystem was not IMFS!"
+ #error "Filesystems coule be disabled, DEVFS is root, or"
+ #error " miniIMFS is root!"
+ #endif<span style="background-color: #FF0000"> </span>
</font> #endif
/*
</pre>
<p> </p>
<a name='cs2'></a>
<table border='0' cellspacing='0' cellpadding='5' width='100%' bgcolor='#eeeeee'>
<tr><td colspan='3' bgcolor='#dddddd'>
<font color='#bb2222'><strong>joel</strong></font>
</td></tr>
<tr><td colspan='3' bgcolor='#dddddd'><pre>2010-07-26 Joel Sherrill <joel.sherrill@oarcorp.com>
* libfs/src/imfs/imfs_load_tar.c: Formatting.
</pre></td></tr>
<tr><td width='1%'><a href="http://www.rtems.com/cgi-bin/viewcvs.cgi//rtems/cpukit/ChangeLog.diff?r1=text&tr1=1.2522&r2=text&tr2=1.2523&diff_format=h">M</a></td><td width='1%'>1.2523</td><td width='100%'>cpukit/ChangeLog</td></tr>
<tr><td width='1%'><a href="http://www.rtems.com/cgi-bin/viewcvs.cgi//rtems/cpukit/libfs/src/imfs/imfs_load_tar.c.diff?r1=text&tr1=1.17&r2=text&tr2=1.18&diff_format=h">M</a></td><td width='1%'>1.18</td><td width='100%'>cpukit/libfs/src/imfs/imfs_load_tar.c</td></tr>
</table>
<pre>
<font color='#006600'>diff -u rtems/cpukit/ChangeLog:1.2522 rtems/cpukit/ChangeLog:1.2523
--- rtems/cpukit/ChangeLog:1.2522 Mon Jul 26 16:28:06 2010
+++ rtems/cpukit/ChangeLog Mon Jul 26 16:29:24 2010
</font><font color='#997700'>@@ -1,5 +1,9 @@
</font> 2010-07-26 Joel Sherrill <joel.sherrill@oarcorp.com>
<font color='#000088'>+ * libfs/src/imfs/imfs_load_tar.c: Formatting.
+
+2010-07-26 Joel Sherrill <joel.sherrill@oarcorp.com>
+
</font> * sapi/include/confdefs.h: Do not cover up user configuation mistakes
on filesystems -- cite them as errors.
<font color='#006600'>diff -u rtems/cpukit/libfs/src/imfs/imfs_load_tar.c:1.17 rtems/cpukit/libfs/src/imfs/imfs_load_tar.c:1.18
--- rtems/cpukit/libfs/src/imfs/imfs_load_tar.c:1.17 Tue Jul 13 16:43:32 2010
+++ rtems/cpukit/libfs/src/imfs/imfs_load_tar.c Mon Jul 26 16:29:24 2010
</font><font color='#997700'>@@ -106,11 +106,10 @@
</font> 0
);
if (status != 0)
<font color='#880000'>- return -1;
</font><font color='#000088'>+ return -1;
</font>
<font color='#880000'>- if (root_loc.ops != &IMFS_ops
- && root_loc.ops != &fifoIMFS_ops)
- return -1;
</font><font color='#000088'>+ if (root_loc.ops != &IMFS_ops && root_loc.ops != &fifoIMFS_ops)
+ return -1;
</font>
/*
* Create an IMFS node structure pointing to tar image memory.
</pre>
<p> </p>
<a name='cs3'></a>
<table border='0' cellspacing='0' cellpadding='5' width='100%' bgcolor='#eeeeee'>
<tr><td colspan='3' bgcolor='#dddddd'>
<font color='#bb2222'><strong>joel</strong></font>
</td></tr>
<tr><td colspan='3' bgcolor='#dddddd'><pre>2010-07-26 Joel Sherrill <joel.sherrill@oarcorp.com>
* libcsupport/src/privateenv.c, libmisc/cpuuse/cpuusagereport.c,
posix/Makefile.am, posix/include/rtems/posix/key.h,
posix/src/keycreate.c, posix/src/keydelete.c,
score/src/iterateoverthreads.c: Since removing ITRON, the loop over
all APIs for tasks has a path that cannot be reached. Either modify
the code or mark tests for NULL as RTEMS_DEBUG.
* posix/src/keyfreememory.c: New file.
</pre></td></tr>
<tr><td width='1%'><a href="http://www.rtems.com/cgi-bin/viewcvs.cgi//rtems/cpukit/ChangeLog.diff?r1=text&tr1=1.2523&r2=text&tr2=1.2524&diff_format=h">M</a></td><td width='1%'>1.2524</td><td width='100%'>cpukit/ChangeLog</td></tr>
<tr><td width='1%'><a href="http://www.rtems.com/cgi-bin/viewcvs.cgi//rtems/cpukit/libcsupport/src/privateenv.c.diff?r1=text&tr1=1.13&r2=text&tr2=1.14&diff_format=h">M</a></td><td width='1%'>1.14</td><td width='100%'>cpukit/libcsupport/src/privateenv.c</td></tr>
<tr><td width='1%'><a href="http://www.rtems.com/cgi-bin/viewcvs.cgi//rtems/cpukit/libmisc/cpuuse/cpuusagereport.c.diff?r1=text&tr1=1.14&r2=text&tr2=1.15&diff_format=h">M</a></td><td width='1%'>1.15</td><td width='100%'>cpukit/libmisc/cpuuse/cpuusagereport.c</td></tr>
<tr><td width='1%'><a href="http://www.rtems.com/cgi-bin/viewcvs.cgi//rtems/cpukit/posix/Makefile.am.diff?r1=text&tr1=1.81&r2=text&tr2=1.82&diff_format=h">M</a></td><td width='1%'>1.82</td><td width='100%'>cpukit/posix/Makefile.am</td></tr>
<tr><td width='1%'><a href="http://www.rtems.com/cgi-bin/viewcvs.cgi//rtems/cpukit/posix/include/rtems/posix/key.h.diff?r1=text&tr1=1.19&r2=text&tr2=1.20&diff_format=h">M</a></td><td width='1%'>1.20</td><td width='100%'>cpukit/posix/include/rtems/posix/key.h</td></tr>
<tr><td width='1%'><a href="http://www.rtems.com/cgi-bin/viewcvs.cgi//rtems/cpukit/posix/src/keycreate.c.diff?r1=text&tr1=1.15&r2=text&tr2=1.16&diff_format=h">M</a></td><td width='1%'>1.16</td><td width='100%'>cpukit/posix/src/keycreate.c</td></tr>
<tr><td width='1%'><a href="http://www.rtems.com/cgi-bin/viewcvs.cgi//rtems/cpukit/posix/src/keydelete.c.diff?r1=text&tr1=1.11&r2=text&tr2=1.12&diff_format=h">M</a></td><td width='1%'>1.12</td><td width='100%'>cpukit/posix/src/keydelete.c</td></tr>
<tr><td width='1%'><a href="http://www.rtems.com/cgi-bin/viewcvs.cgi//rtems/cpukit/posix/src/keyfreememory.c?rev=1.1&content-type=text/vnd.viewcvs-markup">A</a></td><td width='1%'><font color="#000088">1.1</font></td><td width='100%'><font color="#000088">cpukit/posix/src/keyfreememory.c</font></td></tr>
<tr><td width='1%'><a href="http://www.rtems.com/cgi-bin/viewcvs.cgi//rtems/cpukit/score/src/iterateoverthreads.c.diff?r1=text&tr1=1.7&r2=text&tr2=1.8&diff_format=h">M</a></td><td width='1%'>1.8</td><td width='100%'>cpukit/score/src/iterateoverthreads.c</td></tr>
</table>
<pre>
<font color='#006600'>diff -u rtems/cpukit/ChangeLog:1.2523 rtems/cpukit/ChangeLog:1.2524
--- rtems/cpukit/ChangeLog:1.2523 Mon Jul 26 16:29:24 2010
+++ rtems/cpukit/ChangeLog Mon Jul 26 17:03:17 2010
</font><font color='#997700'>@@ -1,5 +1,15 @@
</font> 2010-07-26 Joel Sherrill <joel.sherrill@oarcorp.com>
<font color='#000088'>+ * libcsupport/src/privateenv.c, libmisc/cpuuse/cpuusagereport.c,
+ posix/Makefile.am, posix/include/rtems/posix/key.h,
+ posix/src/keycreate.c, posix/src/keydelete.c,
+ score/src/iterateoverthreads.c: Since removing ITRON, the loop over
+ all APIs for tasks has a path that cannot be reached. Either modify
+ the code or mark tests for NULL as RTEMS_DEBUG.
+ * posix/src/keyfreememory.c: New file.
+
+2010-07-26 Joel Sherrill <joel.sherrill@oarcorp.com>
+
</font> * libfs/src/imfs/imfs_load_tar.c: Formatting.
2010-07-26 Joel Sherrill <joel.sherrill@oarcorp.com>
<font color='#006600'>diff -u rtems/cpukit/libcsupport/src/privateenv.c:1.13 rtems/cpukit/libcsupport/src/privateenv.c:1.14
--- rtems/cpukit/libcsupport/src/privateenv.c:1.13 Thu Jul 15 16:31:10 2010
+++ rtems/cpukit/libcsupport/src/privateenv.c Mon Jul 26 17:03:17 2010
</font><font color='#997700'>@@ -122,8 +122,7 @@
</font> rtems_user_env_t * shared_user_env;
rtems_id current_task_id;
<font color='#880000'>- sc=rtems_task_ident(RTEMS_SELF,0,¤t_task_id);
- if (sc != RTEMS_SUCCESSFUL) return sc;
</font><font color='#000088'>+ current_task_id = rtems_task_self();
</font>
if (rtems_current_user_env->task_id==current_task_id) {
/* kill the current user env & task_var*/
<font color='#006600'>diff -u rtems/cpukit/libmisc/cpuuse/cpuusagereport.c:1.14 rtems/cpukit/libmisc/cpuuse/cpuusagereport.c:1.15
--- rtems/cpukit/libmisc/cpuuse/cpuusagereport.c:1.14 Sun Jul 4 09:53:47 2010
+++ rtems/cpukit/libmisc/cpuuse/cpuusagereport.c Mon Jul 26 17:03:17 2010
</font><font color='#997700'>@@ -1,7 +1,7 @@
</font> /*
* CPU Usage Reporter
*
<font color='#880000'>- * COPYRIGHT (c) 1989-2009
</font><font color='#000088'>+ * COPYRIGHT (c) 1989-2010.
</font> * On-Line Applications Research Corporation (OAR).
*
* The license and distribution terms for this file may be
<font color='#997700'>@@ -71,8 +71,14 @@
</font> _Timestamp_Subtract( &CPU_usage_Uptime_at_last_reset, &uptime, &total );
#else
for ( api_index = 1 ; api_index <= OBJECTS_APIS_LAST ; api_index++ ) {
<font color='#880000'>- if ( !_Objects_Information_table[ api_index ] )
- continue;
</font><font color='#000088'>+ /*
+ * Since the removal of ITRON, this cannot occur.
+ */
+ #if defined(RTEMS_DEBUG)
+ if ( !_Objects_Information_table[ api_index ] )
+ continue;
+ #endif
+
</font> information = _Objects_Information_table[ api_index ][ 1 ];
if ( information ) {
for ( i=1 ; i <= information->maximum ; i++ ) {
<font color='#997700'>@@ -98,11 +104,15 @@
</font> "------------+----------------------------------------+---------------+---------\n"
);
<font color='#880000'>- for ( api_index = 1 ;
- api_index <= OBJECTS_APIS_LAST ;
- api_index++ ) {
- if ( !_Objects_Information_table[ api_index ] )
- continue;
</font><font color='#000088'>+ for ( api_index = 1 ; api_index <= OBJECTS_APIS_LAST ; api_index++ ) {
+ /*
+ * Since the removal of ITRON, this cannot occur.
+ */
+ #if defined(RTEMS_DEBUG)
+ if ( !_Objects_Information_table[ api_index ] )
+ continue;
+ #endif
+
</font> information = _Objects_Information_table[ api_index ][ 1 ];
if ( information ) {
for ( i=1 ; i <= information->maximum ; i++ ) {
<font color='#006600'>diff -u rtems/cpukit/posix/Makefile.am:1.81 rtems/cpukit/posix/Makefile.am:1.82
--- rtems/cpukit/posix/Makefile.am:1.81 Wed Jun 16 14:12:19 2010
+++ rtems/cpukit/posix/Makefile.am Mon Jul 26 17:03:17 2010
</font><font color='#997700'>@@ -89,7 +89,8 @@
</font>
## KEY_C_FILES
libposix_a_SOURCES += src/key.c src/keycreate.c src/keydelete.c \
<font color='#880000'>- src/keygetspecific.c src/keyrundestructors.c src/keysetspecific.c
</font><font color='#000088'>+ src/keygetspecific.c src/keyfreememory.c src/keyrundestructors.c \
+ src/keysetspecific.c
</font>
## MEMORY_C_FILES
libposix_a_SOURCES += src/mprotect.c
<font color='#006600'>diff -u rtems/cpukit/posix/include/rtems/posix/key.h:1.19 rtems/cpukit/posix/include/rtems/posix/key.h:1.20
--- rtems/cpukit/posix/include/rtems/posix/key.h:1.19 Tue Jul 21 19:09:31 2009
+++ rtems/cpukit/posix/include/rtems/posix/key.h Mon Jul 26 17:03:17 2010
</font><font color='#997700'>@@ -7,7 +7,7 @@
</font> * This include file contains all the private support information for
* POSIX key.
*
<font color='#880000'>- * COPYRIGHT (c) 1989-2008.
</font><font color='#000088'>+ * COPYRIGHT (c) 1989-2010.
</font> * On-Line Applications Research Corporation (OAR).
*
* The license and distribution terms for this file may be
<font color='#997700'>@@ -69,6 +69,17 @@
</font> );
/**
<font color='#000088'>+ * @brief Free Key Memory
+ *
+ * This memory frees the key table memory associated with @a the_key.
+ *
+ * @param[in] the_key is the POSIX key to free the table memory of.
+ */
+void _POSIX_Keys_Free_memory(
+ POSIX_Keys_Control *the_key
+);
+
+/**
</font> * @brief _POSIX_Keys_Free
*
* This routine frees a keys control block to the
<font color='#006600'>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
</font><font color='#997700'>@@ -1,5 +1,5 @@
</font> /*
<font color='#880000'>- * COPYRIGHT (c) 1989-2007.
</font><font color='#000088'>+ * COPYRIGHT (c) 1989-2010.
</font> * On-Line Applications Research Corporation (OAR).
*
* The license and distribution terms for this file may be
<font color='#997700'>@@ -23,8 +23,7 @@
</font> #include <rtems/score/wkspace.h>
#include <rtems/posix/key.h>
<font color='#880000'>-/*PAGE
- *
</font><font color='#000088'>+/*
</font> * 17.1.1 Thread-Specific Data Key Create, P1003.1c/Draft 10, p. 163
*/
<font color='#997700'>@@ -56,52 +55,45 @@
</font> *
* NOTE: Currently RTEMS Classic API tasks are always enabled.
*/
<font color='#000088'>+ for ( the_api = 1; the_api <= OBJECTS_APIS_LAST; the_api++ ) {
+ the_key->Values[ the_api ] = NULL;
</font>
<font color='#880000'>- 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;
</font><font color='#000088'>+ #if defined(RTEMS_DEBUG)
+ /*
+ * Since the removal of ITRON, this cannot occur.
+ */
+ if ( !_Objects_Information_table[ api_index ] )
+ 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
+
+ bytes_to_allocate = sizeof( void * ) *
+ (_Objects_Information_table[ the_api ][ 1 ]->maximum + 1);
+ table = _Workspace_Allocate( bytes_to_allocate );
+ if ( !table ) {
+ _POSIX_Keys_Free_memory( the_key );
+
+ _POSIX_Keys_Free( the_key );
+ _Thread_Enable_dispatch();
+ return ENOMEM;
</font> }
<font color='#880000'>-
</font><font color='#000088'>+ the_key->Values[ the_api ] = table;
+ memset( table, '\0', bytes_to_allocate );
</font> }
_Objects_Open_u32( &_POSIX_Keys_Information, &the_key->Object, 0 );
<font color='#880000'>-
</font> *key = the_key->Object.id;
<font color='#880000'>-
</font> _Thread_Enable_dispatch();
<font color='#880000'>-
</font> return 0;
}
<font color='#006600'>diff -u rtems/cpukit/posix/src/keydelete.c:1.11 rtems/cpukit/posix/src/keydelete.c:1.12
--- rtems/cpukit/posix/src/keydelete.c:1.11 Tue Jul 21 19:09:31 2009
+++ rtems/cpukit/posix/src/keydelete.c Mon Jul 26 17:03:17 2010
</font><font color='#997700'>@@ -23,18 +23,15 @@
</font> #include <rtems/score/wkspace.h>
#include <rtems/posix/key.h>
<font color='#880000'>-/*PAGE
- *
</font><font color='#000088'>+/*
</font> * 17.1.3 Thread-Specific Data Key Deletion, P1003.1c/Draft 10, p. 167
*/
<font color='#880000'>-
</font> int pthread_key_delete(
pthread_key_t key
)
{
<font color='#880000'>- register POSIX_Keys_Control *the_key;
- Objects_Locations location;
- uint32_t the_api;
</font><font color='#000088'>+ POSIX_Keys_Control *the_key;
+ Objects_Locations location;
</font>
the_key = _POSIX_Keys_Get( key, &location );
switch ( location ) {
<font color='#997700'>@@ -42,15 +39,12 @@
</font> case OBJECTS_LOCAL:
_Objects_Close( &_POSIX_Keys_Information, &the_key->Object );
<font color='#880000'>- for ( the_api = 1; the_api <= OBJECTS_APIS_LAST; the_api++ )
- if ( the_key->Values[ the_api ] )
- _Workspace_Free( the_key->Values[ the_api ] );
</font><font color='#000088'>+ _POSIX_Keys_Free_memory( the_key );
</font>
/*
* NOTE: The destructor is not called and it is the responsibility
* of the application to free the memory.
*/
<font color='#880000'>-
</font> _POSIX_Keys_Free( the_key );
_Thread_Enable_dispatch();
return 0;
<font color='#006600'>diff -u /dev/null rtems/cpukit/posix/src/keyfreememory.c:1.1
--- /dev/null Mon Jul 26 17:10:19 2010
+++ rtems/cpukit/posix/src/keyfreememory.c Mon Jul 26 17:03:18 2010
</font><font color='#997700'>@@ -0,0 +1,30 @@
</font><font color='#000088'>+/*
+ * COPYRIGHT (c) 1989-2010.
+ * On-Line Applications Research Corporation (OAR).
+ *
+ * The license and distribution terms for this file may be
+ * found in the file LICENSE in this distribution or at
+ * http://www.rtems.com/license/LICENSE.
+ *
+ * $Id$
+ */
+
+#if HAVE_CONFIG_H
+#include "config.h"
+#endif
+
+#include <rtems/system.h>
+#include <rtems/score/thread.h>
+#include <rtems/score/wkspace.h>
+#include <rtems/posix/key.h>
+
+void _POSIX_Keys_Free_memory(
+ POSIX_Keys_Control *the_key
+)
+{
+ uint32_t the_api;
+
+ for ( the_api = 1; the_api <= OBJECTS_APIS_LAST; the_api++ )
+ if ( the_key->Values[ the_api ] )
+ _Workspace_Free( the_key->Values[ the_api ] );
+}
</font>
<font color='#006600'>diff -u rtems/cpukit/score/src/iterateoverthreads.c:1.7 rtems/cpukit/score/src/iterateoverthreads.c:1.8
--- rtems/cpukit/score/src/iterateoverthreads.c:1.7 Thu Jul 23 10:46:48 2009
+++ rtems/cpukit/score/src/iterateoverthreads.c Mon Jul 26 17:03:18 2010
</font><font color='#997700'>@@ -5,7 +5,7 @@
</font> * for all threads
* invoke specified function
*
<font color='#880000'>- * COPYRIGHT (c) 1989-2003.
</font><font color='#000088'>+ * COPYRIGHT (c) 1989-2010.
</font> * On-Line Applications Research Corporation (OAR).
*
* The license and distribution terms for this file may be
<font color='#997700'>@@ -33,8 +33,13 @@
</font> return;
for ( api_index = 1 ; api_index <= OBJECTS_APIS_LAST ; api_index++ ) {
<font color='#880000'>- if ( !_Objects_Information_table[ api_index ] )
- continue;
</font><font color='#000088'>+ /*
+ * Since the removal of ITRON, this cannot occur.
+ */
+ #if defined(RTEMS_DEBUG)
+ if ( !_Objects_Information_table[ api_index ] )
+ continue;
+ #endif
</font>
information = _Objects_Information_table[ api_index ][ 1 ];
if ( !information )
</pre>
<p> </p>
<p>--<br />
<small>Generated by <a href="http://www.codewiz.org/projects/index.html#loginfo">Deluxe Loginfo</a> 2.122 by Bernardo Innocenti <bernie@develer.com></small></p>
</body>
</html>