On 2013-08-09 07:54, Sebastian Huber wrote:
On 2013-08-08 22:00, Chris Johns wrote:
Sebastian Huber wrote:
  /**
- * This function returns true if the currently executing thread
- * is also the heir thread, and false otherwise.
- */
-
-RTEMS_INLINE_ROUTINE bool _Thread_Is_executing_also_the_heir( void )

Why not pass the 'the_thread' to this call and keep the logic local rather than
...

+  if ( _Thread_Is_executing( the_thread) || _Thread_Is_heir( the_thread ) )

.. and ..

+  if ( _Thread_Is_executing( the_thread) || _Thread_Is_heir( the_thread ) )

The code ...

  if ( _Thread_Is_executing_also_the_heir( the_thread ) )

... clearly describes the intent rather than me needing to check the logic of
the above operation is correct in the context and not a copy and paste error.
Small mistakes in this area can be difficult to find.

Chris

_Thread_Is_executing( the_thread) || _Thread_Is_heir( the_thread )

is not equal to

_Thread_Is_executing_also_the_heir( void )


The copy and paste is on a higher level, e.g. we may use this:

RTEMS_INLINE_ROUTINE void _Scheduler_Generic_block(
  void ( *extract )( Thread_Control *),
  void ( *schedule )( Thread_Control *),
  Thread_Control *thread
)
{
  ( *extract )( thread );

  if ( _Thread_Is_executing( the_thread) || _Thread_Is_heir( the_thread ) ) {
    ( *schedule )( thread, true );
  }
}

--
Sebastian Huber, embedded brains GmbH

Address : Dornierstr. 4, D-82178 Puchheim, Germany
Phone   : +49 89 189 47 41-16
Fax     : +49 89 189 47 41-09
E-Mail  : [email protected]
PGP     : Public key available on request.

Diese Nachricht ist keine geschäftliche Mitteilung im Sinne des EHUG.
_______________________________________________
rtems-devel mailing list
[email protected]
http://www.rtems.org/mailman/listinfo/rtems-devel

Reply via email to