File indexing completed on 2025-05-11 08:24:44
0001
0002
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013
0014
0015
0016
0017
0018
0019
0020
0021
0022
0023
0024
0025
0026
0027
0028
0029 #ifdef HAVE_CONFIG_H
0030 #include "config.h"
0031 #endif
0032
0033 #include "system.h"
0034
0035 rtems_task Task_1(
0036 rtems_task_argument argument
0037 )
0038 {
0039 rtems_status_code status;
0040 rtems_task_priority the_priority;
0041 rtems_task_priority previous_priority;
0042
0043 status = rtems_task_set_priority(
0044 RTEMS_SELF,
0045 RTEMS_CURRENT_PRIORITY,
0046 &the_priority
0047 );
0048 directive_failed( status, "rtems_task_set_priority" );
0049 printf(
0050 "TA1 - rtems_task_set_priority - get initial "
0051 "priority of self: %02" PRIdrtems_task_priority "\n",
0052 the_priority
0053 );
0054
0055 while( FOREVER ) {
0056 if ( --the_priority == 0 ) {
0057 puts( "TA1 - rtems_task_suspend - suspend TA2" );
0058 status = rtems_task_suspend( Task_id[ 2 ] );
0059 directive_failed( status, "rtems_task_suspend" );
0060
0061 puts( "TA1 - rtems_task_set_priority - set priority of TA2 ( blocked )" );
0062 status = rtems_task_set_priority( Task_id[ 2 ], 5, &previous_priority );
0063 directive_failed( status, "rtems_task_set_priority" );
0064
0065 status = rtems_task_delete( Task_id[ 2 ] );
0066 directive_failed( status, "rtems_task_delete of TA2" );
0067
0068 rtems_task_exit();
0069 }
0070
0071 printf(
0072 "TA1 - rtems_task_set_priority - set TA2's priority: "
0073 "%02" PRIdrtems_task_priority "\n",
0074 the_priority
0075 );
0076 status = rtems_task_set_priority(
0077 Task_id[ 2 ],
0078 the_priority,
0079 &previous_priority
0080 );
0081 directive_failed( status, "rtems_task_set_priority" );
0082 }
0083 }