<!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-11-25)</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>sh</strong></font>
</td></tr>
<tr><td colspan='3' bgcolor='#dddddd'><pre>2010-11-25 Sebastian Huber <sebastian.huber@embedded-brains.de>

        * libfs/src/dosfs/fat_file.c, libfs/src/imfs/imfs_debug.c,
        libfs/src/imfs/imfs_directory.c, libfs/src/imfs/imfs_getchild.c,
        posix/src/killinfo.c, score/inline/rtems/score/schedulerpriority.inl,
        score/inline/rtems/score/watchdog.inl, score/src/apiext.c,
        score/src/chain.c, score/src/coremsgflushsupp.c,
        score/src/coremsginsert.c, score/src/objectshrinkinformation.c,
        score/src/schedulerpriorityyield.c,
        score/src/threadqdequeuepriority.c,
        score/src/threadqenqueuepriority.c,
        score/src/threadqextractpriority.c, score/src/threadqfirstfifo.c,
        score/src/threadqfirstpriority.c, score/src/threadyieldprocessor.c,
        score/src/userextthreadbegin.c, score/src/userextthreadcreate.c,
        score/src/userextthreaddelete.c, score/src/userextthreadrestart.c,
        score/src/userextthreadstart.c, score/src/userextthreadswitch.c,
        score/src/watchdogreportchain.c: Avoid chain API violations.
</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.2655&r2=text&tr2=1.2656&diff_format=h">M</a></td><td width='1%'>1.2656</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/dosfs/fat_file.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/dosfs/fat_file.c</td></tr>
<tr><td width='1%'><a href="http://www.rtems.com/cgi-bin/viewcvs.cgi//rtems/cpukit/libfs/src/imfs/imfs_debug.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_debug.c</td></tr>
<tr><td width='1%'><a href="http://www.rtems.com/cgi-bin/viewcvs.cgi//rtems/cpukit/libfs/src/imfs/imfs_directory.c.diff?r1=text&tr1=1.27&r2=text&tr2=1.28&diff_format=h">M</a></td><td width='1%'>1.28</td><td width='100%'>cpukit/libfs/src/imfs/imfs_directory.c</td></tr>
<tr><td width='1%'><a href="http://www.rtems.com/cgi-bin/viewcvs.cgi//rtems/cpukit/libfs/src/imfs/imfs_getchild.c.diff?r1=text&tr1=1.12&r2=text&tr2=1.13&diff_format=h">M</a></td><td width='1%'>1.13</td><td width='100%'>cpukit/libfs/src/imfs/imfs_getchild.c</td></tr>
<tr><td width='1%'><a href="http://www.rtems.com/cgi-bin/viewcvs.cgi//rtems/cpukit/posix/src/killinfo.c.diff?r1=text&tr1=1.26&r2=text&tr2=1.27&diff_format=h">M</a></td><td width='1%'>1.27</td><td width='100%'>cpukit/posix/src/killinfo.c</td></tr>
<tr><td width='1%'><a href="http://www.rtems.com/cgi-bin/viewcvs.cgi//rtems/cpukit/score/inline/rtems/score/schedulerpriority.inl.diff?r1=text&tr1=1.1&r2=text&tr2=1.2&diff_format=h">M</a></td><td width='1%'>1.2</td><td width='100%'>cpukit/score/inline/rtems/score/schedulerpriority.inl</td></tr>
<tr><td width='1%'><a href="http://www.rtems.com/cgi-bin/viewcvs.cgi//rtems/cpukit/score/inline/rtems/score/watchdog.inl.diff?r1=text&tr1=1.18&r2=text&tr2=1.19&diff_format=h">M</a></td><td width='1%'>1.19</td><td width='100%'>cpukit/score/inline/rtems/score/watchdog.inl</td></tr>
<tr><td width='1%'><a href="http://www.rtems.com/cgi-bin/viewcvs.cgi//rtems/cpukit/score/src/apiext.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/score/src/apiext.c</td></tr>
<tr><td width='1%'><a href="http://www.rtems.com/cgi-bin/viewcvs.cgi//rtems/cpukit/score/src/chain.c.diff?r1=text&tr1=1.18&r2=text&tr2=1.19&diff_format=h">M</a></td><td width='1%'>1.19</td><td width='100%'>cpukit/score/src/chain.c</td></tr>
<tr><td width='1%'><a href="http://www.rtems.com/cgi-bin/viewcvs.cgi//rtems/cpukit/score/src/coremsgflushsupp.c.diff?r1=text&tr1=1.9&r2=text&tr2=1.10&diff_format=h">M</a></td><td width='1%'>1.10</td><td width='100%'>cpukit/score/src/coremsgflushsupp.c</td></tr>
<tr><td width='1%'><a href="http://www.rtems.com/cgi-bin/viewcvs.cgi//rtems/cpukit/score/src/coremsginsert.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/score/src/coremsginsert.c</td></tr>
<tr><td width='1%'><a href="http://www.rtems.com/cgi-bin/viewcvs.cgi//rtems/cpukit/score/src/objectshrinkinformation.c.diff?r1=text&tr1=1.9&r2=text&tr2=1.10&diff_format=h">M</a></td><td width='1%'>1.10</td><td width='100%'>cpukit/score/src/objectshrinkinformation.c</td></tr>
<tr><td width='1%'><a href="http://www.rtems.com/cgi-bin/viewcvs.cgi//rtems/cpukit/score/src/schedulerpriorityyield.c.diff?r1=text&tr1=1.1&r2=text&tr2=1.2&diff_format=h">M</a></td><td width='1%'>1.2</td><td width='100%'>cpukit/score/src/schedulerpriorityyield.c</td></tr>
<tr><td width='1%'><a href="http://www.rtems.com/cgi-bin/viewcvs.cgi//rtems/cpukit/score/src/threadqdequeuepriority.c.diff?r1=text&tr1=1.9&r2=text&tr2=1.10&diff_format=h">M</a></td><td width='1%'>1.10</td><td width='100%'>cpukit/score/src/threadqdequeuepriority.c</td></tr>
<tr><td width='1%'><a href="http://www.rtems.com/cgi-bin/viewcvs.cgi//rtems/cpukit/score/src/threadqenqueuepriority.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/score/src/threadqenqueuepriority.c</td></tr>
<tr><td width='1%'><a href="http://www.rtems.com/cgi-bin/viewcvs.cgi//rtems/cpukit/score/src/threadqextractpriority.c.diff?r1=text&tr1=1.10&r2=text&tr2=1.11&diff_format=h">M</a></td><td width='1%'>1.11</td><td width='100%'>cpukit/score/src/threadqextractpriority.c</td></tr>
<tr><td width='1%'><a href="http://www.rtems.com/cgi-bin/viewcvs.cgi//rtems/cpukit/score/src/threadqfirstfifo.c.diff?r1=text&tr1=1.6&r2=text&tr2=1.7&diff_format=h">M</a></td><td width='1%'>1.7</td><td width='100%'>cpukit/score/src/threadqfirstfifo.c</td></tr>
<tr><td width='1%'><a href="http://www.rtems.com/cgi-bin/viewcvs.cgi//rtems/cpukit/score/src/threadqfirstpriority.c.diff?r1=text&tr1=1.6&r2=text&tr2=1.7&diff_format=h">M</a></td><td width='1%'>1.7</td><td width='100%'>cpukit/score/src/threadqfirstpriority.c</td></tr>
<tr><td width='1%'><a href="http://www.rtems.com/cgi-bin/viewcvs.cgi//rtems/cpukit/score/src/threadyieldprocessor.c.diff?r1=text&tr1=1.6&r2=text&tr2=1.7&diff_format=h">M</a></td><td width='1%'>1.7</td><td width='100%'>cpukit/score/src/threadyieldprocessor.c</td></tr>
<tr><td width='1%'><a href="http://www.rtems.com/cgi-bin/viewcvs.cgi//rtems/cpukit/score/src/userextthreadbegin.c.diff?r1=text&tr1=1.4&r2=text&tr2=1.5&diff_format=h">M</a></td><td width='1%'>1.5</td><td width='100%'>cpukit/score/src/userextthreadbegin.c</td></tr>
<tr><td width='1%'><a href="http://www.rtems.com/cgi-bin/viewcvs.cgi//rtems/cpukit/score/src/userextthreadcreate.c.diff?r1=text&tr1=1.4&r2=text&tr2=1.5&diff_format=h">M</a></td><td width='1%'>1.5</td><td width='100%'>cpukit/score/src/userextthreadcreate.c</td></tr>
<tr><td width='1%'><a href="http://www.rtems.com/cgi-bin/viewcvs.cgi//rtems/cpukit/score/src/userextthreaddelete.c.diff?r1=text&tr1=1.2&r2=text&tr2=1.3&diff_format=h">M</a></td><td width='1%'>1.3</td><td width='100%'>cpukit/score/src/userextthreaddelete.c</td></tr>
<tr><td width='1%'><a href="http://www.rtems.com/cgi-bin/viewcvs.cgi//rtems/cpukit/score/src/userextthreadrestart.c.diff?r1=text&tr1=1.2&r2=text&tr2=1.3&diff_format=h">M</a></td><td width='1%'>1.3</td><td width='100%'>cpukit/score/src/userextthreadrestart.c</td></tr>
<tr><td width='1%'><a href="http://www.rtems.com/cgi-bin/viewcvs.cgi//rtems/cpukit/score/src/userextthreadstart.c.diff?r1=text&tr1=1.2&r2=text&tr2=1.3&diff_format=h">M</a></td><td width='1%'>1.3</td><td width='100%'>cpukit/score/src/userextthreadstart.c</td></tr>
<tr><td width='1%'><a href="http://www.rtems.com/cgi-bin/viewcvs.cgi//rtems/cpukit/score/src/userextthreadswitch.c.diff?r1=text&tr1=1.3&r2=text&tr2=1.4&diff_format=h">M</a></td><td width='1%'>1.4</td><td width='100%'>cpukit/score/src/userextthreadswitch.c</td></tr>
<tr><td width='1%'><a href="http://www.rtems.com/cgi-bin/viewcvs.cgi//rtems/cpukit/score/src/watchdogreportchain.c.diff?r1=text&tr1=1.1&r2=text&tr2=1.2&diff_format=h">M</a></td><td width='1%'>1.2</td><td width='100%'>cpukit/score/src/watchdogreportchain.c</td></tr>
</table>
<pre>
<font color='#006600'>diff -u rtems/cpukit/ChangeLog:1.2655 rtems/cpukit/ChangeLog:1.2656
--- rtems/cpukit/ChangeLog:1.2655       Wed Nov 24 09:51:26 2010
+++ rtems/cpukit/ChangeLog      Thu Nov 25 03:27:05 2010
</font><font color='#997700'>@@ -1,3 +1,21 @@
</font><font color='#000088'>+2010-11-25    Sebastian Huber <sebastian.huber@embedded-brains.de>
+
+       * libfs/src/dosfs/fat_file.c, libfs/src/imfs/imfs_debug.c,
+       libfs/src/imfs/imfs_directory.c, libfs/src/imfs/imfs_getchild.c,
+       posix/src/killinfo.c, score/inline/rtems/score/schedulerpriority.inl,
+       score/inline/rtems/score/watchdog.inl, score/src/apiext.c,
+       score/src/chain.c, score/src/coremsgflushsupp.c,
+       score/src/coremsginsert.c, score/src/objectshrinkinformation.c,
+       score/src/schedulerpriorityyield.c,
+       score/src/threadqdequeuepriority.c,
+       score/src/threadqenqueuepriority.c,
+       score/src/threadqextractpriority.c, score/src/threadqfirstfifo.c,
+       score/src/threadqfirstpriority.c, score/src/threadyieldprocessor.c,
+       score/src/userextthreadbegin.c, score/src/userextthreadcreate.c,
+       score/src/userextthreaddelete.c, score/src/userextthreadrestart.c,
+       score/src/userextthreadstart.c, score/src/userextthreadswitch.c,
+       score/src/watchdogreportchain.c: Avoid chain API violations.
+
</font> 2010-11-24        Gedare Bloom <giddyup44@yahoo.com>
 
        PR 1647/cpukit

<font color='#006600'>diff -u rtems/cpukit/libfs/src/dosfs/fat_file.c:1.17 rtems/cpukit/libfs/src/dosfs/fat_file.c:1.18
--- rtems/cpukit/libfs/src/dosfs/fat_file.c:1.17        Mon Aug 23 18:17:42 2010
+++ rtems/cpukit/libfs/src/dosfs/fat_file.c     Thu Nov 25 03:27:05 2010
</font><font color='#997700'>@@ -926,7 +926,7 @@
</font>     )
 {
     uint32_t          mod = (key1) % FAT_HASH_MODULE;
<font color='#880000'>-    rtems_chain_node *the_node = ((rtems_chain_control *)((hash) + mod))->first;
</font><font color='#000088'>+    rtems_chain_node *the_node = rtems_chain_first(hash + mod);
</font> 
     for ( ; !rtems_chain_is_tail((hash) + mod, the_node) ; )
     {

<font color='#006600'>diff -u rtems/cpukit/libfs/src/imfs/imfs_debug.c:1.17 rtems/cpukit/libfs/src/imfs/imfs_debug.c:1.18
--- rtems/cpukit/libfs/src/imfs/imfs_debug.c:1.17       Fri Jul 30 17:36:32 2010
+++ rtems/cpukit/libfs/src/imfs/imfs_debug.c    Thu Nov 25 03:27:05 2010
</font><font color='#997700'>@@ -114,7 +114,7 @@
</font> 
   the_chain = &the_directory->info.directory.Entries;
 
<font color='#880000'>-  for ( the_node = the_chain->first;
</font><font color='#000088'>+  for ( the_node = rtems_chain_first( the_chain );
</font>         !rtems_chain_is_tail( the_chain, the_node );
         the_node = the_node->next ) {
 

<font color='#006600'>diff -u rtems/cpukit/libfs/src/imfs/imfs_directory.c:1.27 rtems/cpukit/libfs/src/imfs/imfs_directory.c:1.28
--- rtems/cpukit/libfs/src/imfs/imfs_directory.c:1.27   Thu Jul 15 03:10:48 2010
+++ rtems/cpukit/libfs/src/imfs/imfs_directory.c        Thu Nov 25 03:27:05 2010
</font><font color='#997700'>@@ -97,7 +97,7 @@
</font>       return 0;
 
    /* Move to the first of the desired directory entries */
<font color='#880000'>-   the_node = the_chain->first;
</font><font color='#000088'>+   the_node = rtems_chain_first( the_chain );
</font> 
    bytes_transferred = 0;
    first_entry = iop->offset;
<font color='#997700'>@@ -263,7 +263,7 @@
</font> 
    /* Run through the chain and count the number of directory entries */
    /* that are subordinate to this directory node                     */
<font color='#880000'>-   for ( the_node = the_chain->first ;
</font><font color='#000088'>+   for ( the_node = rtems_chain_first( the_chain );
</font>          !rtems_chain_is_tail( the_chain, the_node ) ;
          the_node = the_node->next ) {
 

<font color='#006600'>diff -u rtems/cpukit/libfs/src/imfs/imfs_getchild.c:1.12 rtems/cpukit/libfs/src/imfs/imfs_getchild.c:1.13
--- rtems/cpukit/libfs/src/imfs/imfs_getchild.c:1.12    Fri Jul 30 17:36:32 2010
+++ rtems/cpukit/libfs/src/imfs/imfs_getchild.c Thu Nov 25 03:27:05 2010
</font><font color='#997700'>@@ -52,7 +52,7 @@
</font> 
   the_chain = &directory->info.directory.Entries;
 
<font color='#880000'>-  for ( the_node = the_chain->first;
</font><font color='#000088'>+  for ( the_node = rtems_chain_first( the_chain );
</font>         !rtems_chain_is_tail( the_chain, the_node );
         the_node = the_node->next ) {
 

<font color='#006600'>diff -u rtems/cpukit/posix/src/killinfo.c:1.26 rtems/cpukit/posix/src/killinfo.c:1.27
--- rtems/cpukit/posix/src/killinfo.c:1.26      Sun Aug 29 14:50:33 2010
+++ rtems/cpukit/posix/src/killinfo.c   Thu Nov 25 03:27:05 2010
</font><font color='#997700'>@@ -137,7 +137,7 @@
</font> 
   the_chain = &_POSIX_signals_Wait_queue.Queues.Fifo;
 
<font color='#880000'>-  for ( the_node = the_chain->first ;
</font><font color='#000088'>+  for ( the_node = _Chain_First( the_chain );
</font>         !_Chain_Is_tail( the_chain, the_node ) ;
         the_node = the_node->next ) {
 

<font color='#006600'>diff -u rtems/cpukit/score/inline/rtems/score/schedulerpriority.inl:1.1 rtems/cpukit/score/inline/rtems/score/schedulerpriority.inl:1.2
--- rtems/cpukit/score/inline/rtems/score/schedulerpriority.inl:1.1     Wed Nov 24 09:51:28 2010
+++ rtems/cpukit/score/inline/rtems/score/schedulerpriority.inl Thu Nov 25 03:27:06 2010
</font><font color='#997700'>@@ -138,10 +138,10 @@
</font>   Chain_Control       *the_ready_queue
 )
 {
<font color='#880000'>-  uint32_t    index = _Priority_bit_map_Get_highest();
</font><font color='#000088'>+  Priority_Control index = _Priority_bit_map_Get_highest();
</font> 
   if ( !_Chain_Is_empty( &the_ready_queue[ index ] ) )
<font color='#880000'>-    return (Thread_Control *) the_ready_queue[ index ].first;
</font><font color='#000088'>+    return (Thread_Control *) _Chain_First( &the_ready_queue[ index ] );
</font> 
   return NULL;
 }

<font color='#006600'>diff -u rtems/cpukit/score/inline/rtems/score/watchdog.inl:1.18 rtems/cpukit/score/inline/rtems/score/watchdog.inl:1.19
--- rtems/cpukit/score/inline/rtems/score/watchdog.inl:1.18     Mon Dec 22 03:22:17 2008
+++ rtems/cpukit/score/inline/rtems/score/watchdog.inl  Thu Nov 25 03:27:06 2010
</font><font color='#997700'>@@ -238,7 +238,7 @@
</font> )
 {
 
<font color='#880000'>-  return ( (Watchdog_Control *) header->first );
</font><font color='#000088'>+  return ( (Watchdog_Control *) _Chain_First( header ) );
</font> 
 }
 
<font color='#997700'>@@ -252,7 +252,7 @@
</font> )
 {
 
<font color='#880000'>-  return ( (Watchdog_Control *) header->last );
</font><font color='#000088'>+  return ( (Watchdog_Control *) _Chain_Last( header ) );
</font> 
 }
 

<font color='#006600'>diff -u rtems/cpukit/score/src/apiext.c:1.15 rtems/cpukit/score/src/apiext.c:1.16
--- rtems/cpukit/score/src/apiext.c:1.15        Thu Jun 17 22:59:55 2010
+++ rtems/cpukit/score/src/apiext.c     Thu Nov 25 03:27:06 2010
</font><font color='#997700'>@@ -52,7 +52,7 @@
</font>     Chain_Node             *the_node;
     API_extensions_Control *the_extension;
 
<font color='#880000'>-    for ( the_node = _API_extensions_List.first ;
</font><font color='#000088'>+    for ( the_node = _Chain_First( &_API_extensions_List );
</font>     !_Chain_Is_tail( &_API_extensions_List, the_node ) ;
          the_node = the_node->next ) {
 
<font color='#997700'>@@ -74,7 +74,7 @@
</font>   Chain_Node             *the_node;
   API_extensions_Control *the_extension;
 
<font color='#880000'>-  for ( the_node = _API_extensions_List.first ;
</font><font color='#000088'>+  for ( the_node = _Chain_First( &_API_extensions_List );
</font>         !_Chain_Is_tail( &_API_extensions_List, the_node ) ;
         the_node = the_node->next ) {
 
<font color='#997700'>@@ -100,7 +100,7 @@
</font>   Chain_Node             *the_node;
   API_extensions_Control *the_extension;
 
<font color='#880000'>-  for ( the_node = _API_extensions_List.first ;
</font><font color='#000088'>+  for ( the_node = _Chain_First( &_API_extensions_List );
</font>         !_Chain_Is_tail( &_API_extensions_List, the_node ) ;
         the_node = the_node->next ) {
 

<font color='#006600'>diff -u rtems/cpukit/score/src/chain.c:1.18 rtems/cpukit/score/src/chain.c:1.19
--- rtems/cpukit/score/src/chain.c:1.18 Wed May  9 13:27:26 2007
+++ rtems/cpukit/score/src/chain.c      Thu Nov 25 03:27:06 2010
</font><font color='#997700'>@@ -40,14 +40,14 @@
</font>   size_t         node_size
 )
 {
<font color='#880000'>-  size_t      count;
-  Chain_Node *current;
-  Chain_Node *next;
</font><font color='#000088'>+  size_t count = number_nodes;
+  Chain_Node *head = _Chain_Head( the_chain );
+  Chain_Node *tail = _Chain_Tail( the_chain );
+  Chain_Node *current = head;
+  Chain_Node *next = starting_address;
+
+  head->previous = NULL;
</font> 
<font color='#880000'>-  count                     = number_nodes;
-  current                   = _Chain_Head( the_chain );
-  the_chain->permanent_null = NULL;
-  next                      = starting_address;
</font>   while ( count-- ) {
     current->next  = next;
     next->previous = current;
<font color='#997700'>@@ -55,6 +55,7 @@
</font>     next           = (Chain_Node *)
                         _Addresses_Add_offset( (void *) next, node_size );
   }
<font color='#880000'>-  current->next    = _Chain_Tail( the_chain );
-  the_chain->last  = current;
</font><font color='#000088'>+
+  current->next = tail;
+  tail->previous = current;
</font> }

<font color='#006600'>diff -u rtems/cpukit/score/src/coremsgflushsupp.c:1.9 rtems/cpukit/score/src/coremsgflushsupp.c:1.10
--- rtems/cpukit/score/src/coremsgflushsupp.c:1.9       Fri Sep  5 16:54:20 2008
+++ rtems/cpukit/score/src/coremsgflushsupp.c   Thu Nov 25 03:27:06 2010
</font><font color='#997700'>@@ -53,6 +53,7 @@
</font> )
 {
   ISR_Level   level;
<font color='#000088'>+  Chain_Node *inactive_head;
</font>   Chain_Node *inactive_first;
   Chain_Node *message_queue_first;
   Chain_Node *message_queue_last;
<font color='#997700'>@@ -86,15 +87,15 @@
</font>    */
 
   _ISR_Disable( level );
<font color='#880000'>-    inactive_first      = the_message_queue->Inactive_messages.first;
-    message_queue_first = the_message_queue->Pending_messages.first;
-    message_queue_last  = the_message_queue->Pending_messages.last;
</font><font color='#000088'>+    inactive_head = _Chain_Head( &the_message_queue->Inactive_messages );
+    inactive_first = inactive_head->next;;
+    message_queue_first = _Chain_First( &the_message_queue->Pending_messages );
+    message_queue_last = _Chain_Last( &the_message_queue->Pending_messages );
</font> 
<font color='#880000'>-    the_message_queue->Inactive_messages.first = message_queue_first;
</font><font color='#000088'>+    inactive_head->next = message_queue_first;
</font>     message_queue_last->next = inactive_first;
     inactive_first->previous = message_queue_last;
<font color='#880000'>-    message_queue_first->previous          =
-               _Chain_Head( &the_message_queue->Inactive_messages );
</font><font color='#000088'>+    message_queue_first->previous = inactive_head;
</font> 
     _Chain_Initialize_empty( &the_message_queue->Pending_messages );
 

<font color='#006600'>diff -u rtems/cpukit/score/src/coremsginsert.c:1.11 rtems/cpukit/score/src/coremsginsert.c:1.12
--- rtems/cpukit/score/src/coremsginsert.c:1.11 Wed Aug 25 15:48:43 2010
+++ rtems/cpukit/score/src/coremsginsert.c      Thu Nov 25 03:27:06 2010
</font><font color='#997700'>@@ -99,7 +99,7 @@
</font> 
       the_priority = _CORE_message_queue_Get_message_priority(the_message);
       the_header = &the_message_queue->Pending_messages;
<font color='#880000'>-      the_node = the_header->first;
</font><font color='#000088'>+      the_node = _Chain_First( the_header );
</font>       while ( !_Chain_Is_tail( the_header, the_node ) ) {
         int this_priority;
 

<font color='#006600'>diff -u rtems/cpukit/score/src/objectshrinkinformation.c:1.9 rtems/cpukit/score/src/objectshrinkinformation.c:1.10
--- rtems/cpukit/score/src/objectshrinkinformation.c:1.9        Tue Jul  7 17:47:03 2009
+++ rtems/cpukit/score/src/objectshrinkinformation.c    Thu Nov 25 03:27:06 2010
</font><font color='#997700'>@@ -69,7 +69,7 @@
</font>       /*
        *  Assume the Inactive chain is never empty at this point
        */
<font color='#880000'>-      the_object = (Objects_Control *) information->Inactive.first;
</font><font color='#000088'>+      the_object = (Objects_Control *) _Chain_First( &information->Inactive );
</font> 
       do {
          index = _Objects_Get_index( the_object->id );

<font color='#006600'>diff -u rtems/cpukit/score/src/schedulerpriorityyield.c:1.1 rtems/cpukit/score/src/schedulerpriorityyield.c:1.2
--- rtems/cpukit/score/src/schedulerpriorityyield.c:1.1 Wed Nov 24 09:51:28 2010
+++ rtems/cpukit/score/src/schedulerpriorityyield.c     Thu Nov 25 03:27:06 2010
</font><font color='#997700'>@@ -67,7 +67,7 @@
</font>       _ISR_Flash( level );
 
       if ( _Thread_Is_heir( executing ) )
<font color='#880000'>-        _Thread_Heir = (Thread_Control *) ready->first;
</font><font color='#000088'>+        _Thread_Heir = (Thread_Control *) _Chain_First( ready );
</font>       _Thread_Dispatch_necessary = true;
     }
     else if ( !_Thread_Is_heir( executing ) )

<font color='#006600'>diff -u rtems/cpukit/score/src/threadqdequeuepriority.c:1.9 rtems/cpukit/score/src/threadqdequeuepriority.c:1.10
--- rtems/cpukit/score/src/threadqdequeuepriority.c:1.9 Tue Jan 22 15:19:18 2008
+++ rtems/cpukit/score/src/threadqdequeuepriority.c     Thu Nov 25 03:27:06 2010
</font><font color='#997700'>@@ -50,6 +50,8 @@
</font>   ISR_Level       level;
   Thread_Control *the_thread = NULL;  /* just to remove warnings */
   Thread_Control *new_first_thread;
<font color='#000088'>+  Chain_Node     *head;
+  Chain_Node     *tail;
</font>   Chain_Node     *new_first_node;
   Chain_Node     *new_second_node;
   Chain_Node     *last_node;
<font color='#997700'>@@ -61,8 +63,9 @@
</font>        index < TASK_QUEUE_DATA_NUMBER_OF_PRIORITY_HEADERS ;
        index++ ) {
     if ( !_Chain_Is_empty( &the_thread_queue->Queues.Priority[ index ] ) ) {
<font color='#880000'>-      the_thread = (Thread_Control *)
-                    the_thread_queue->Queues.Priority[ index ].first;
</font><font color='#000088'>+      the_thread = (Thread_Control *) _Chain_First(
+        &the_thread_queue->Queues.Priority[ index ]
+      );
</font>       goto dequeue;
     }
   }
<font color='#997700'>@@ -75,13 +78,13 @@
</font> 
 dequeue:
   the_thread->Wait.queue = NULL;
<font color='#880000'>-  new_first_node   = the_thread->Wait.Block2n.first;
</font><font color='#000088'>+  new_first_node   = _Chain_First( &the_thread->Wait.Block2n );
</font>   new_first_thread = (Thread_Control *) new_first_node;
   next_node        = the_thread->Object.Node.next;
   previous_node    = the_thread->Object.Node.previous;
 
   if ( !_Chain_Is_empty( &the_thread->Wait.Block2n ) ) {
<font color='#880000'>-    last_node       = the_thread->Wait.Block2n.last;
</font><font color='#000088'>+    last_node       = _Chain_Last( &the_thread->Wait.Block2n );
</font>     new_second_node = new_first_node->next;
 
     previous_node->next      = new_first_node;
<font color='#997700'>@@ -91,13 +94,13 @@
</font> 
     if ( !_Chain_Has_only_one_node( &the_thread->Wait.Block2n ) ) {
                                                 /* > two threads on 2-n */
<font color='#880000'>-      new_second_node->previous =
-                _Chain_Head( &new_first_thread->Wait.Block2n );
</font><font color='#000088'>+      head = _Chain_Head( &new_first_thread->Wait.Block2n );
+      tail = _Chain_Tail( &new_first_thread->Wait.Block2n );
</font> 
<font color='#880000'>-      new_first_thread->Wait.Block2n.first = new_second_node;
-      new_first_thread->Wait.Block2n.last  = last_node;
-
-      last_node->next = _Chain_Tail( &new_first_thread->Wait.Block2n );
</font><font color='#000088'>+      new_second_node->previous = head;
+      head->next = new_second_node;
+      tail->previous = last_node;
+      last_node->next = tail;
</font>     }
   } else {
     previous_node->next = next_node;

<font color='#006600'>diff -u rtems/cpukit/score/src/threadqenqueuepriority.c:1.11 rtems/cpukit/score/src/threadqenqueuepriority.c:1.12
--- rtems/cpukit/score/src/threadqenqueuepriority.c:1.11        Fri Jul 10 15:32:48 2009
+++ rtems/cpukit/score/src/threadqenqueuepriority.c     Thu Nov 25 03:27:06 2010
</font><font color='#997700'>@@ -80,7 +80,7 @@
</font> restart_forward_search:
   search_priority = PRIORITY_MINIMUM - 1;
   _ISR_Disable( level );
<font color='#880000'>-  search_thread = (Thread_Control *) header->first;
</font><font color='#000088'>+  search_thread = (Thread_Control *) _Chain_First( header );
</font>   while ( !_Chain_Is_tail( header, (Chain_Node *)search_thread ) ) {
     search_priority = search_thread->current_priority;
     if ( priority <= search_priority )
<font color='#997700'>@@ -128,7 +128,7 @@
</font>   search_priority     = PRIORITY_MAXIMUM + 1;
 
   _ISR_Disable( level );
<font color='#880000'>-  search_thread = (Thread_Control *) header->last;
</font><font color='#000088'>+  search_thread = (Thread_Control *) _Chain_Last( header );
</font>   while ( !_Chain_Is_head( header, (Chain_Node *)search_thread ) ) {
     search_priority = search_thread->current_priority;
     if ( priority >= search_priority )

<font color='#006600'>diff -u rtems/cpukit/score/src/threadqextractpriority.c:1.10 rtems/cpukit/score/src/threadqextractpriority.c:1.11
--- rtems/cpukit/score/src/threadqextractpriority.c:1.10        Tue Dec 30 21:36:04 2008
+++ rtems/cpukit/score/src/threadqextractpriority.c     Thu Nov 25 03:27:06 2010
</font><font color='#997700'>@@ -50,6 +50,8 @@
</font> )
 {
   ISR_Level       level;
<font color='#000088'>+  Chain_Node     *head;
+  Chain_Node     *tail;
</font>   Chain_Node     *the_node;
   Chain_Node     *next_node;
   Chain_Node     *previous_node;
<font color='#997700'>@@ -73,9 +75,9 @@
</font>   previous_node = the_node->previous;
 
   if ( !_Chain_Is_empty( &the_thread->Wait.Block2n ) ) {
<font color='#880000'>-    new_first_node   = the_thread->Wait.Block2n.first;
</font><font color='#000088'>+    new_first_node   = _Chain_First( &the_thread->Wait.Block2n );
</font>     new_first_thread = (Thread_Control *) new_first_node;
<font color='#880000'>-    last_node        = the_thread->Wait.Block2n.last;
</font><font color='#000088'>+    last_node        = _Chain_Last( &the_thread->Wait.Block2n );
</font>     new_second_node  = new_first_node->next;
 
     previous_node->next      = new_first_node;
<font color='#997700'>@@ -85,12 +87,13 @@
</font> 
     if ( !_Chain_Has_only_one_node( &the_thread->Wait.Block2n ) ) {
                                         /* > two threads on 2-n */
<font color='#880000'>-      new_second_node->previous =
-                _Chain_Head( &new_first_thread->Wait.Block2n );
-      new_first_thread->Wait.Block2n.first = new_second_node;
</font><font color='#000088'>+      head = _Chain_Head( &new_first_thread->Wait.Block2n );
+      tail = _Chain_Tail( &new_first_thread->Wait.Block2n );
</font> 
<font color='#880000'>-      new_first_thread->Wait.Block2n.last = last_node;
-      last_node->next = _Chain_Tail( &new_first_thread->Wait.Block2n );
</font><font color='#000088'>+      new_second_node->previous = head;
+      head->next = new_second_node;
+      tail->previous = last_node;
+      last_node->next = tail;
</font>     }
   } else {
     previous_node->next = next_node;

<font color='#006600'>diff -u rtems/cpukit/score/src/threadqfirstfifo.c:1.6 rtems/cpukit/score/src/threadqfirstfifo.c:1.7
--- rtems/cpukit/score/src/threadqfirstfifo.c:1.6       Tue Jan 22 12:28:53 2008
+++ rtems/cpukit/score/src/threadqfirstfifo.c   Thu Nov 25 03:27:06 2010
</font><font color='#997700'>@@ -44,7 +44,7 @@
</font> )
 {
   if ( !_Chain_Is_empty( &the_thread_queue->Queues.Fifo ) )
<font color='#880000'>-    return (Thread_Control *) the_thread_queue->Queues.Fifo.first;
</font><font color='#000088'>+    return (Thread_Control *) _Chain_First( &the_thread_queue->Queues.Fifo );
</font> 
   return NULL;
 }

<font color='#006600'>diff -u rtems/cpukit/score/src/threadqfirstpriority.c:1.6 rtems/cpukit/score/src/threadqfirstpriority.c:1.7
--- rtems/cpukit/score/src/threadqfirstpriority.c:1.6   Tue Jan 22 12:28:53 2008
+++ rtems/cpukit/score/src/threadqfirstpriority.c       Thu Nov 25 03:27:06 2010
</font><font color='#997700'>@@ -49,8 +49,9 @@
</font>        index < TASK_QUEUE_DATA_NUMBER_OF_PRIORITY_HEADERS ;
        index++ ) {
     if ( !_Chain_Is_empty( &the_thread_queue->Queues.Priority[ index ] ) )
<font color='#880000'>-      return (Thread_Control *)
-        the_thread_queue->Queues.Priority[ index ].first;
</font><font color='#000088'>+      return (Thread_Control *) _Chain_First(
+        &the_thread_queue->Queues.Priority[ index ]
+      );
</font>   }
   return NULL;
 }

<font color='#006600'>diff -u rtems/cpukit/score/src/threadyieldprocessor.c:1.6 rtems/cpukit/score/src/threadyieldprocessor.c:1.7
--- rtems/cpukit/score/src/threadyieldprocessor.c:1.6   Fri Jul 30 13:53:06 2010
+++ rtems/cpukit/score/src/threadyieldprocessor.c       Thu Nov 25 03:27:06 2010
</font><font color='#997700'>@@ -66,7 +66,7 @@
</font>       _ISR_Flash( level );
 
       if ( _Thread_Is_heir( executing ) )
<font color='#880000'>-        _Thread_Heir = (Thread_Control *) ready->first;
</font><font color='#000088'>+        _Thread_Heir = (Thread_Control *) _Chain_First( ready );
</font>       _Thread_Dispatch_necessary = true;
     }
     else if ( !_Thread_Is_heir( executing ) )

<font color='#006600'>diff -u rtems/cpukit/score/src/userextthreadbegin.c:1.4 rtems/cpukit/score/src/userextthreadbegin.c:1.5
--- rtems/cpukit/score/src/userextthreadbegin.c:1.4     Mon Oct 12 07:16:22 2009
+++ rtems/cpukit/score/src/userextthreadbegin.c Thu Nov 25 03:27:06 2010
</font><font color='#997700'>@@ -31,7 +31,7 @@
</font>   Chain_Node              *the_node;
   User_extensions_Control *the_extension;
 
<font color='#880000'>-  for ( the_node = _User_extensions_List.first ;
</font><font color='#000088'>+  for ( the_node = _Chain_First( &_User_extensions_List );
</font>         !_Chain_Is_tail( &_User_extensions_List, the_node ) ;
         the_node = the_node->next ) {
 
<font color='#997700'>@@ -49,7 +49,7 @@
</font>   Chain_Node              *the_node;
   User_extensions_Control *the_extension;
 
<font color='#880000'>-  for ( the_node = _User_extensions_List.last ;
</font><font color='#000088'>+  for ( the_node = _Chain_Last( &_User_extensions_List );
</font>         !_Chain_Is_head( &_User_extensions_List, the_node ) ;
         the_node = the_node->previous ) {
 
<font color='#997700'>@@ -69,7 +69,7 @@
</font>   Chain_Node              *the_node;
   User_extensions_Control *the_extension;
 
<font color='#880000'>-  for ( the_node = _User_extensions_List.last ;
</font><font color='#000088'>+  for ( the_node = _Chain_Last( &_User_extensions_List );
</font>         !_Chain_Is_head( &_User_extensions_List, the_node ) ;
         the_node = the_node->previous ) {
 

<font color='#006600'>diff -u rtems/cpukit/score/src/userextthreadcreate.c:1.4 rtems/cpukit/score/src/userextthreadcreate.c:1.5
--- rtems/cpukit/score/src/userextthreadcreate.c:1.4    Fri Sep 25 12:51:46 2009
+++ rtems/cpukit/score/src/userextthreadcreate.c        Thu Nov 25 03:27:06 2010
</font><font color='#997700'>@@ -32,7 +32,7 @@
</font>   User_extensions_Control *the_extension;
   bool                     status;
 
<font color='#880000'>-  for ( the_node = _User_extensions_List.first ;
</font><font color='#000088'>+  for ( the_node = _Chain_First( &_User_extensions_List );
</font>         !_Chain_Is_tail( &_User_extensions_List, the_node ) ;
         the_node = the_node->next ) {
 

<font color='#006600'>diff -u rtems/cpukit/score/src/userextthreaddelete.c:1.2 rtems/cpukit/score/src/userextthreaddelete.c:1.3
--- rtems/cpukit/score/src/userextthreaddelete.c:1.2    Fri Sep 25 12:51:46 2009
+++ rtems/cpukit/score/src/userextthreaddelete.c        Thu Nov 25 03:27:06 2010
</font><font color='#997700'>@@ -31,7 +31,7 @@
</font>   Chain_Node              *the_node;
   User_extensions_Control *the_extension;
 
<font color='#880000'>-  for ( the_node = _User_extensions_List.last ;
</font><font color='#000088'>+  for ( the_node = _Chain_Last( &_User_extensions_List );
</font>         !_Chain_Is_head( &_User_extensions_List, the_node ) ;
         the_node = the_node->previous ) {
 

<font color='#006600'>diff -u rtems/cpukit/score/src/userextthreadrestart.c:1.2 rtems/cpukit/score/src/userextthreadrestart.c:1.3
--- rtems/cpukit/score/src/userextthreadrestart.c:1.2   Fri Sep 25 12:51:46 2009
+++ rtems/cpukit/score/src/userextthreadrestart.c       Thu Nov 25 03:27:06 2010
</font><font color='#997700'>@@ -31,7 +31,7 @@
</font>   Chain_Node              *the_node;
   User_extensions_Control *the_extension;
 
<font color='#880000'>-  for ( the_node = _User_extensions_List.first ;
</font><font color='#000088'>+  for ( the_node = _Chain_First( &_User_extensions_List );
</font>         !_Chain_Is_tail( &_User_extensions_List, the_node ) ;
         the_node = the_node->next ) {
 

<font color='#006600'>diff -u rtems/cpukit/score/src/userextthreadstart.c:1.2 rtems/cpukit/score/src/userextthreadstart.c:1.3
--- rtems/cpukit/score/src/userextthreadstart.c:1.2     Fri Sep 25 12:51:46 2009
+++ rtems/cpukit/score/src/userextthreadstart.c Thu Nov 25 03:27:06 2010
</font><font color='#997700'>@@ -31,7 +31,7 @@
</font>   Chain_Node              *the_node;
   User_extensions_Control *the_extension;
 
<font color='#880000'>-  for ( the_node = _User_extensions_List.first ;
</font><font color='#000088'>+  for ( the_node = _Chain_First( &_User_extensions_List );
</font>         !_Chain_Is_tail( &_User_extensions_List, the_node ) ;
         the_node = the_node->next ) {
 

<font color='#006600'>diff -u rtems/cpukit/score/src/userextthreadswitch.c:1.3 rtems/cpukit/score/src/userextthreadswitch.c:1.4
--- rtems/cpukit/score/src/userextthreadswitch.c:1.3    Sun Nov 29 07:51:52 2009
+++ rtems/cpukit/score/src/userextthreadswitch.c        Thu Nov 25 03:27:06 2010
</font><font color='#997700'>@@ -32,7 +32,7 @@
</font>   Chain_Node                     *the_node;
   User_extensions_Switch_control *the_extension_switch;
 
<font color='#880000'>-  for ( the_node = _User_extensions_Switches_list.first ;
</font><font color='#000088'>+  for ( the_node = _Chain_First( &_User_extensions_Switches_list );
</font>         !_Chain_Is_tail( &_User_extensions_Switches_list, the_node ) ;
         the_node = the_node->next ) {
 

<font color='#006600'>diff -u rtems/cpukit/score/src/watchdogreportchain.c:1.1 rtems/cpukit/score/src/watchdogreportchain.c:1.2
--- rtems/cpukit/score/src/watchdogreportchain.c:1.1    Wed Nov 26 10:33:30 2008
+++ rtems/cpukit/score/src/watchdogreportchain.c        Thu Nov 25 03:27:06 2010
</font><font color='#997700'>@@ -34,7 +34,7 @@
</font>   _ISR_Disable( level );
     printk( "Watchdog Chain: %s %p\n", name, header );
     if ( !_Chain_Is_empty( header ) ) {
<font color='#880000'>-      for ( node = header->first ;
</font><font color='#000088'>+      for ( node = _Chain_First( header ) ;
</font>             node != _Chain_Tail(header) ;
             node = node->next )
       {
</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>