diff options
author | Sebastian Huber <sebastian.huber@embedded-brains.de> | 2016-01-07 09:55:45 +0100 |
---|---|---|
committer | Sebastian Huber <sebastian.huber@embedded-brains.de> | 2016-01-11 08:47:01 +0100 |
commit | ccd54344d904b657123e4e4ba795a32212382be2 (patch) | |
tree | d490d77b6173f586137036ed07ec5bd27d8ca65a /cpukit/score/src/threadentryadaptorpointer.c | |
parent | smptests/README: Delete obsolete information (diff) | |
download | rtems-ccd54344d904b657123e4e4ba795a32212382be2.tar.bz2 |
score: Introduce Thread_Entry_information
This avoids potential dead code in _Thread_Handler(). It gets rid of
the dangerous function pointer casts.
Update #2514.
Diffstat (limited to 'cpukit/score/src/threadentryadaptorpointer.c')
-rw-r--r-- | cpukit/score/src/threadentryadaptorpointer.c | 26 |
1 files changed, 26 insertions, 0 deletions
diff --git a/cpukit/score/src/threadentryadaptorpointer.c b/cpukit/score/src/threadentryadaptorpointer.c new file mode 100644 index 0000000000..65866d886f --- /dev/null +++ b/cpukit/score/src/threadentryadaptorpointer.c @@ -0,0 +1,26 @@ +/* + * Copyright (c) 2015 embedded brains GmbH. All rights reserved. + * + * embedded brains GmbH + * Dornierstr. 4 + * 82178 Puchheim + * Germany + * <rtems@embedded-brains.de> + * + * The license and distribution terms for this file may be + * found in the file LICENSE in this distribution or at + * http://www.rtems.org/license/LICENSE. + */ + +#if HAVE_CONFIG_H + #include "config.h" +#endif + +#include <rtems/score/threadimpl.h> + +void _Thread_Entry_adaptor_pointer( Thread_Control *executing ) +{ + const Thread_Entry_pointer *pointer = &executing->Start.Entry.Kinds.Pointer; + + executing->Wait.return_argument = ( *pointer->entry )( pointer->argument ); +} |