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
0030
0031
0032
0033
0034
0035
0036
0037
0038
0039
0040 #ifdef HAVE_CONFIG_H
0041 #include "config.h"
0042 #endif
0043
0044 #include "system.h"
0045
0046 rtems_task Task_1(
0047 rtems_task_argument argument
0048 )
0049 {
0050 rtems_id tid2;
0051 rtems_id tid3;
0052 uint32_t pass;
0053 rtems_status_code status;
0054
0055 status = rtems_task_ident( Task_name[ 2 ], 1, &tid2 );
0056 directive_failed( status, "rtems_task_ident of TA2" );
0057
0058 status = rtems_task_ident( Task_name[ 3 ], 1, &tid3 );
0059 directive_failed( status, "rtems_task_ident of TA3" );
0060
0061 for ( pass=1 ; pass <= 3 ; pass++ ) {
0062
0063 puts( "TA1 - rtems_task_wake_after - sleep 5 seconds" );
0064 status = rtems_task_wake_after( 5*rtems_clock_get_ticks_per_second() );
0065 directive_failed( status, "rtems_task_wake_after of TA1" );
0066
0067 puts( "TA1 - rtems_task_suspend - suspend TA3" );
0068 status = rtems_task_suspend( tid3 );
0069 if ( pass == 1 ) {
0070 fatal_directive_status(
0071 status,
0072 RTEMS_ALREADY_SUSPENDED,
0073 "rtems_task_suspend of TA3"
0074 );
0075 } else {
0076 directive_failed( status, "rtems_task_suspend of TA3" );
0077 }
0078
0079 puts( "TA1 - rtems_task_resume - resume TA2" );
0080 status = rtems_task_resume( tid2 );
0081 directive_failed( status, "rtems_task_resume of TA2" );
0082
0083 puts( "TA1 - rtems_task_wake_after - sleep 5 seconds" );
0084 status = rtems_task_wake_after( 5*rtems_clock_get_ticks_per_second() );
0085 directive_failed( status, "rtems_task_wake_after" );
0086
0087 puts( "TA1 - rtems_task_suspend - suspend TA2" );
0088 status = rtems_task_suspend( tid2 );
0089 directive_failed( status, "rtems_task_suspend of TA2" );
0090
0091 puts( "TA1 - rtems_task_resume - resume TA3" );
0092 status = rtems_task_resume( tid3 );
0093 directive_failed( status, "rtems_task_resume" );
0094 }
0095
0096 TEST_END();
0097 rtems_test_exit( 0 );
0098 }