File indexing completed on 2025-05-11 08:24:41
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 #if !defined(OPERATION_COUNT)
0030 #define OPERATION_COUNT 100
0031 #endif
0032
0033 #ifdef HAVE_CONFIG_H
0034 #include "config.h"
0035 #endif
0036
0037 #include <timesys.h>
0038 #include <rtems/btimer.h>
0039 #include "test_support.h"
0040 #include <pthread.h>
0041
0042 const char rtems_test_name[] = "PSXTMBARRIER 01";
0043
0044
0045 void *POSIX_Init(void *argument);
0046 static void benchmark_pthread_barrier_init(void);
0047
0048 pthread_barrier_t barrier;
0049
0050 static void benchmark_pthread_barrier_init(void)
0051 {
0052 benchmark_timer_t end_time;
0053 int status;
0054 pthread_barrierattr_t attr;
0055
0056
0057
0058
0059 status = pthread_barrierattr_init( &attr );
0060 rtems_test_assert( status == 0 );
0061
0062 benchmark_timer_initialize();
0063 status = pthread_barrier_init( &barrier,&attr, 1 );
0064 end_time = benchmark_timer_read();
0065 rtems_test_assert( status == 0 );
0066
0067 put_time(
0068 "pthread_barrier_init: only case",
0069 end_time,
0070 1,
0071 0,
0072 0
0073 );
0074 }
0075
0076 static void benchmark_pthread_barrier_destroy(void)
0077 {
0078 benchmark_timer_t end_time;
0079 int status;
0080
0081 benchmark_timer_initialize();
0082 status = pthread_barrier_destroy( &barrier );
0083 end_time = benchmark_timer_read();
0084 rtems_test_assert( status == 0 );
0085
0086 put_time(
0087 "pthread_barrier_destroy: only case",
0088 end_time,
0089 1,
0090 0,
0091 0
0092 );
0093 }
0094
0095 void *POSIX_Init(
0096 void *argument
0097 )
0098 {
0099 TEST_BEGIN();
0100
0101
0102 benchmark_pthread_barrier_init();
0103
0104 benchmark_pthread_barrier_destroy();
0105
0106 TEST_END();
0107
0108 rtems_test_exit(0);
0109 }
0110
0111
0112
0113 #define CONFIGURE_APPLICATION_NEEDS_SIMPLE_CONSOLE_DRIVER
0114 #define CONFIGURE_APPLICATION_NEEDS_TIMER_DRIVER
0115
0116 #define CONFIGURE_MAXIMUM_POSIX_THREADS 1
0117 #define CONFIGURE_POSIX_INIT_THREAD_TABLE
0118
0119 #define CONFIGURE_INIT
0120
0121 #include <rtems/confdefs.h>
0122