change log for rtems (2010-07-26)

rtems-vc at rtems.org rtems-vc at rtems.org
Mon Jul 26 22:10:19 UTC 2010


 *joel*:
2010-07-26	Joel Sherrill <joel.sherrill at oarcorp.com>

	* sapi/include/confdefs.h: Do not cover up user configuation mistakes
	on filesystems -- cite them as errors.

M 1.2522  cpukit/ChangeLog
M  1.146  cpukit/sapi/include/confdefs.h

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
@@ -1,5 +1,10 @@
 2010-07-26	Joel Sherrill <joel.sherrill at oarcorp.com>
 
+	* sapi/include/confdefs.h: Do not cover up user configuation mistakes
+	on filesystems -- cite them as errors.
+
+2010-07-26	Joel Sherrill <joel.sherrill at oarcorp.com>
+
 	* rtems/src/ratemonperiod.c: Remove tabs.
 
 2010-07-26	Joel Sherrill <joel.sherrilL at OARcorp.com>

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
@@ -223,27 +223,27 @@
   #endif
 
   /*
-   * 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
+   * 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 
   #endif
 
   /*


 *joel*:
2010-07-26	Joel Sherrill <joel.sherrill at oarcorp.com>

	* libfs/src/imfs/imfs_load_tar.c: Formatting.

M 1.2523  cpukit/ChangeLog
M   1.18  cpukit/libfs/src/imfs/imfs_load_tar.c

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
@@ -1,5 +1,9 @@
 2010-07-26	Joel Sherrill <joel.sherrill at oarcorp.com>
 
+	* libfs/src/imfs/imfs_load_tar.c: Formatting.
+
+2010-07-26	Joel Sherrill <joel.sherrill at oarcorp.com>
+
 	* sapi/include/confdefs.h: Do not cover up user configuation mistakes
 	on filesystems -- cite them as errors.
 

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
@@ -106,11 +106,10 @@
       0
    );
    if (status != 0)
-      return -1;
+     return -1;
 
-   if (root_loc.ops != &IMFS_ops
-       && root_loc.ops != &fifoIMFS_ops)
-      return -1;
+   if (root_loc.ops != &IMFS_ops && root_loc.ops != &fifoIMFS_ops)
+     return -1;
 
    /*
     * Create an IMFS node structure pointing to tar image memory.


 *joel*:
2010-07-26	Joel Sherrill <joel.sherrill at 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.

M 1.2524  cpukit/ChangeLog
M   1.14  cpukit/libcsupport/src/privateenv.c
M   1.15  cpukit/libmisc/cpuuse/cpuusagereport.c
M   1.82  cpukit/posix/Makefile.am
M   1.20  cpukit/posix/include/rtems/posix/key.h
M   1.16  cpukit/posix/src/keycreate.c
M   1.12  cpukit/posix/src/keydelete.c
A    1.1  cpukit/posix/src/keyfreememory.c
M    1.8  cpukit/score/src/iterateoverthreads.c

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
@@ -1,5 +1,15 @@
 2010-07-26	Joel Sherrill <joel.sherrill at 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.
+
+2010-07-26	Joel Sherrill <joel.sherrill at oarcorp.com>
+
 	* libfs/src/imfs/imfs_load_tar.c: Formatting.
 
 2010-07-26	Joel Sherrill <joel.sherrill at oarcorp.com>

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
@@ -122,8 +122,7 @@
   rtems_user_env_t * shared_user_env;
   rtems_id           current_task_id;
 
-  sc=rtems_task_ident(RTEMS_SELF,0,&current_task_id);
-  if (sc != RTEMS_SUCCESSFUL) return sc;
+  current_task_id = rtems_task_self();
 
   if (rtems_current_user_env->task_id==current_task_id) {
    /* kill the current user env & task_var*/

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
@@ -1,7 +1,7 @@
 /*
  *  CPU Usage Reporter
  *
- *  COPYRIGHT (c) 1989-2009
+ *  COPYRIGHT (c) 1989-2010.
  *  On-Line Applications Research Corporation (OAR).
  *
  *  The license and distribution terms for this file may be
@@ -71,8 +71,14 @@
     _Timestamp_Subtract( &CPU_usage_Uptime_at_last_reset, &uptime, &total );
   #else
     for ( api_index = 1 ; api_index <= OBJECTS_APIS_LAST ; api_index++ ) {
-      if ( !_Objects_Information_table[ api_index ] )
-        continue;
+      /*
+       *  Since the removal of ITRON, this cannot occur.
+       */
+      #if defined(RTEMS_DEBUG)
+        if ( !_Objects_Information_table[ api_index ] )
+	  continue;
+      #endif
+
       information = _Objects_Information_table[ api_index ][ 1 ];
       if ( information ) {
         for ( i=1 ; i <= information->maximum ; i++ ) {
@@ -98,11 +104,15 @@
      "------------+----------------------------------------+---------------+---------\n"
   );
 
-  for ( api_index = 1 ;
-        api_index <= OBJECTS_APIS_LAST ;
-        api_index++ ) {
-    if ( !_Objects_Information_table[ api_index ] )
-      continue;
+  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
+
     information = _Objects_Information_table[ api_index ][ 1 ];
     if ( information ) {
       for ( i=1 ; i <= information->maximum ; i++ ) {

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
@@ -89,7 +89,8 @@
 
 ## KEY_C_FILES
 libposix_a_SOURCES += src/key.c src/keycreate.c src/keydelete.c \
-    src/keygetspecific.c src/keyrundestructors.c src/keysetspecific.c
+    src/keygetspecific.c src/keyfreememory.c src/keyrundestructors.c \
+    src/keysetspecific.c
 
 ## MEMORY_C_FILES
 libposix_a_SOURCES += src/mprotect.c

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
@@ -7,7 +7,7 @@
  *  This include file contains all the private support information for
  *  POSIX key.
  *
- *  COPYRIGHT (c) 1989-2008.
+ *  COPYRIGHT (c) 1989-2010.
  *  On-Line Applications Research Corporation (OAR).
  *
  *  The license and distribution terms for this file may be
@@ -69,6 +69,17 @@
 );
 
 /**
+ *  @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
+);
+
+/**
  *  @brief _POSIX_Keys_Free
  *
  *  This routine frees a keys control block to the

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 ] )
+	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;
     }
 
-
+    the_key->Values[ the_api ] = table;
+    memset( table, '\0', bytes_to_allocate );
   }
 
   _Objects_Open_u32( &_POSIX_Keys_Information, &the_key->Object, 0 );
-
   *key = the_key->Object.id;
-
   _Thread_Enable_dispatch();
-
   return 0;
 }

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
@@ -23,18 +23,15 @@
 #include <rtems/score/wkspace.h>
 #include <rtems/posix/key.h>
 
-/*PAGE
- *
+/*
  *  17.1.3 Thread-Specific Data Key Deletion, P1003.1c/Draft 10, p. 167
  */
-
 int pthread_key_delete(
   pthread_key_t  key
 )
 {
-  register POSIX_Keys_Control *the_key;
-  Objects_Locations            location;
-  uint32_t                     the_api;
+  POSIX_Keys_Control *the_key;
+  Objects_Locations   location;
 
   the_key = _POSIX_Keys_Get( key, &location );
   switch ( location ) {
@@ -42,15 +39,12 @@
     case OBJECTS_LOCAL:
       _Objects_Close( &_POSIX_Keys_Information, &the_key->Object );
 
-      for ( the_api = 1; the_api <= OBJECTS_APIS_LAST; the_api++ )
-        if ( the_key->Values[ the_api ] )
-          _Workspace_Free( the_key->Values[ the_api ] );
+      _POSIX_Keys_Free_memory( the_key );
 
       /*
        *  NOTE:  The destructor is not called and it is the responsibility
        *         of the application to free the memory.
        */
-
       _POSIX_Keys_Free( the_key );
       _Thread_Enable_dispatch();
       return 0;

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
@@ -0,0 +1,30 @@
+/*
+ *  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 ] );
+}

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
@@ -5,7 +5,7 @@
  *    for all threads
  *         invoke specified function
  *
- *  COPYRIGHT (c) 1989-2003.
+ *  COPYRIGHT (c) 1989-2010.
  *  On-Line Applications Research Corporation (OAR).
  *
  *  The license and distribution terms for this file may be
@@ -33,8 +33,13 @@
     return;
 
   for ( api_index = 1 ; api_index <= OBJECTS_APIS_LAST ; api_index++ ) {
-    if ( !_Objects_Information_table[ api_index ] )
-      continue;
+    /*
+     *  Since the removal of ITRON, this cannot occur.
+     */
+    #if defined(RTEMS_DEBUG)
+      if ( !_Objects_Information_table[ api_index ] )
+	continue;
+    #endif
 
     information = _Objects_Information_table[ api_index ][ 1 ];
     if ( !information )



--

Generated by Deluxe Loginfo [http://www.codewiz.org/projects/index.html#loginfo] 2.122 by Bernardo Innocenti <bernie at develer.com>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.rtems.org/pipermail/vc/attachments/20100726/3c268681/attachment.html>


More information about the vc mailing list