summaryrefslogtreecommitdiffstats
path: root/testsuites/mptests/mp02/task1.c
diff options
context:
space:
mode:
authorAun-Ali Zaidi <admin@kodeit.net>2015-12-23 14:44:02 -0600
committerJoel Sherrill <joel.sherrill@oarcorp.com>2015-12-24 16:52:34 -0600
commitd5154d0f6a04f3b7ed59d9a09038576fe2640756 (patch)
tree4b6dcf6e9b116223903afbc1b1141d28fb751848 /testsuites/mptests/mp02/task1.c
parentscore: Fix watchdog removal (diff)
downloadrtems-d5154d0f6a04f3b7ed59d9a09038576fe2640756.tar.bz2
api: Remove deprecated Notepads
Notepads where a feature of RTEMS' tasks that simply functioned in the same way as POSIX keys or threaded local storage (TLS). They were introduced well before per task variables, which are also deprecated, and were barely used in favor of their POSIX alternatives. In addition to their scarce usage, Notepads took up unnecessary memory. For each task: - 16 32-bit integers were allocated. - A total of 64 bytes per task per thread. This is especially critical in low memory and safety-critical applications. They are also defined as uint32_t, and therefore are not guaranteed to hold a pointer. Lastly, they are not portable solutions for SMP and uniprocessor systems, like POSIX keys and TLS. updates #2493.
Diffstat (limited to 'testsuites/mptests/mp02/task1.c')
-rw-r--r--testsuites/mptests/mp02/task1.c113
1 files changed, 0 insertions, 113 deletions
diff --git a/testsuites/mptests/mp02/task1.c b/testsuites/mptests/mp02/task1.c
deleted file mode 100644
index fbdcc0d65b..0000000000
--- a/testsuites/mptests/mp02/task1.c
+++ /dev/null
@@ -1,113 +0,0 @@
-/* Test_task
- *
- * This task tests the rtems_task_set_note directive on a remote task and that
- * errors are returned when attempting to delete, start, or restart
- * a remote task.
- *
- * Input parameters:
- * argument - task argument
- *
- * Output parameters: NONE
- *
- * COPYRIGHT (c) 1989-2009.
- * 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.org/license/LICENSE.
- */
-
-#ifdef HAVE_CONFIG_H
-#include "config.h"
-#endif
-
-#include "system.h"
-
-extern rtems_multiprocessing_table Multiprocessing_configuration;
-
-rtems_task Test_task(
- rtems_task_argument argument
-)
-{
- rtems_id tid;
- rtems_status_code status;
- uint32_t remote_node;
- rtems_id remote_tid;
- rtems_id test_tid;
- uint32_t note;
- uint32_t tmpNode;
-
- status = rtems_task_ident( RTEMS_SELF, RTEMS_SEARCH_ALL_NODES, &tid );
-
- remote_node = (Multiprocessing_configuration.node == 1) ? 2 : 1;
- printf( "Remote task's name is : " );
- put_name( Task_name[ remote_node ], TRUE );
-
- puts( "Getting TID of remote task (all nodes)" );
- do {
- status = rtems_task_ident(
- Task_name[ remote_node ],
- RTEMS_SEARCH_ALL_NODES,
- &remote_tid
- );
- } while ( status != RTEMS_SUCCESSFUL );
-
- directive_failed( status, "rtems_task_ident" );
-
- puts( "Getting TID of remote task (1 node)" );
- status = rtems_task_ident( Task_name[ remote_node ], remote_node, &test_tid );
- directive_failed( status, "rtems_task_ident" );
-
- if ( test_tid != remote_tid ) {
- puts( "rtems_task_ident tid's do not match!!" );
- rtems_fatal_error_occurred( status );
- }
-
- status = rtems_task_delete( remote_tid );
- fatal_directive_status(
- status,
- RTEMS_ILLEGAL_ON_REMOTE_OBJECT,
- "rtems_task_delete of remote task"
- );
- puts( "rtems_task_delete of remote task returned the correct error" );
-
- status = rtems_task_start( remote_tid, Test_task, 0 );
- fatal_directive_status(
- status,
- RTEMS_ILLEGAL_ON_REMOTE_OBJECT,
- "rtems_task_start of remote task"
- );
- puts( "rtems_task_start of remote task returned the correct error" );
-
- status = rtems_task_restart( remote_tid, 0 );
- fatal_directive_status(
- status,
- RTEMS_ILLEGAL_ON_REMOTE_OBJECT,
- "rtems_task_restart of remote task"
- );
- puts( "rtems_task_restart of remote task returned the correct error" );
-
- tmpNode = rtems_object_id_get_node(tid);
- printf( "Setting notepad %" PRId32 " of the remote task to %" PRId32 "\n", tmpNode, tmpNode );
- status = rtems_task_set_note( remote_tid, tmpNode, tmpNode );
- directive_failed( status, "rtems_task_set_note" );
-
- puts( "Getting a notepad of the remote task" );
- status = rtems_task_get_note( remote_tid, tmpNode, &note );
- directive_failed( status, "rtems_task_get_note" );
-
- if ( note == tmpNode )
- puts( "Remote notepad set and read correctly" );
- else
- printf(
- "FAILURE!! Remote notepad was not set and read correctly (%" PRId32 ", %" PRId32 ")\n",
- note,
- tmpNode
- );
-
- status = rtems_task_wake_after( rtems_clock_get_ticks_per_second() );
- directive_failed( status, "rtems_task_wake_after" );
-
- puts( "*** END OF TEST 2 ***" );
- rtems_test_exit( 0 );
-}