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 #ifdef HAVE_CONFIG_H
0030 #include "config.h"
0031 #endif
0032
0033 #include <timesys.h>
0034 #include <rtems/btimer.h>
0035 #include <errno.h>
0036 #include <pthread.h>
0037 #include "test_support.h"
0038
0039 const char rtems_test_name[] = "PSXTMKEY 01";
0040
0041
0042 void *POSIX_Init(void *argument);
0043
0044 pthread_key_t Key;
0045
0046 static void benchmark_pthread_key_create(void)
0047 {
0048 benchmark_timer_t end_time;
0049 int status;
0050
0051 benchmark_timer_initialize();
0052 status = pthread_key_create(&Key, NULL);
0053 end_time = benchmark_timer_read();
0054 rtems_test_assert( status == 0 );
0055
0056 put_time(
0057 "pthread_key_create: only case",
0058 end_time,
0059 1,
0060 0,
0061 0
0062 );
0063
0064 }
0065
0066 static void benchmark_pthread_key_delete(void)
0067 {
0068 benchmark_timer_t end_time;
0069 int status;
0070
0071 benchmark_timer_initialize();
0072 status = pthread_key_delete(Key);
0073 end_time = benchmark_timer_read();
0074 rtems_test_assert( status == 0 );
0075
0076 put_time(
0077 "pthread_key_delete: only case",
0078 end_time,
0079 1,
0080 0,
0081 0
0082 );
0083
0084 }
0085
0086 void *POSIX_Init(void *argument)
0087 {
0088
0089 TEST_BEGIN();
0090
0091
0092 benchmark_pthread_key_create();
0093
0094
0095 benchmark_pthread_key_delete();
0096
0097 TEST_END();
0098
0099 rtems_test_exit(0);
0100 }
0101
0102
0103
0104 #define CONFIGURE_APPLICATION_NEEDS_SIMPLE_CONSOLE_DRIVER
0105 #define CONFIGURE_APPLICATION_NEEDS_TIMER_DRIVER
0106
0107 #define CONFIGURE_MAXIMUM_POSIX_THREADS 2
0108 #define CONFIGURE_MAXIMUM_POSIX_KEYS 1
0109 #define CONFIGURE_POSIX_INIT_THREAD_TABLE
0110
0111 #define CONFIGURE_INIT
0112
0113 #include <rtems/confdefs.h>
0114