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[] = "PSXTMMUTEX 07";
0040
0041
0042 void *POSIX_Init(void *argument);
0043 void test_mutex_setprioceiling(void);
0044 void test_mutex_getprioceiling(void);
0045
0046 pthread_mutex_t MutexId;
0047
0048 void test_mutex_setprioceiling(void)
0049 {
0050 benchmark_timer_t end_time;
0051 int status;
0052 int old_ceiling;
0053
0054 benchmark_timer_initialize();
0055 status = pthread_mutex_setprioceiling( &MutexId, 5, &old_ceiling );
0056 end_time = benchmark_timer_read();
0057 rtems_test_assert( status == 0 );
0058
0059 put_time(
0060 "pthread_mutex_setprioceiling: only case",
0061 end_time,
0062 1,
0063 0,
0064 0
0065 );
0066 }
0067
0068 void test_mutex_getprioceiling(void)
0069 {
0070 benchmark_timer_t end_time;
0071 int status;
0072 int current_ceiling;
0073
0074 benchmark_timer_initialize();
0075 status = pthread_mutex_getprioceiling( &MutexId, ¤t_ceiling );
0076 end_time = benchmark_timer_read();
0077 rtems_test_assert( status == 0 );
0078
0079 put_time(
0080 "pthread_mutex_getprioceiling: only case",
0081 end_time,
0082 1,
0083 0,
0084 0
0085 );
0086 }
0087
0088 void *POSIX_Init(
0089 void *argument
0090 )
0091 {
0092 int status;
0093
0094 TEST_BEGIN();
0095
0096 status = pthread_mutex_init( &MutexId, NULL );
0097 rtems_test_assert( status == 0 );
0098
0099 test_mutex_getprioceiling();
0100 test_mutex_setprioceiling();
0101 test_mutex_getprioceiling();
0102
0103
0104 status = pthread_mutex_destroy( &MutexId );
0105 rtems_test_assert( status == 0 );
0106
0107 TEST_END();
0108
0109 rtems_test_exit(0);
0110 }
0111
0112
0113
0114
0115 #define CONFIGURE_APPLICATION_NEEDS_SIMPLE_CONSOLE_DRIVER
0116 #define CONFIGURE_APPLICATION_NEEDS_TIMER_DRIVER
0117
0118 #define CONFIGURE_MAXIMUM_POSIX_THREADS 1
0119 #define CONFIGURE_POSIX_INIT_THREAD_TABLE
0120
0121 #define CONFIGURE_INIT
0122
0123 #include <rtems/confdefs.h>
0124