2 struct util_thread_starter_thread_state
4 // TRD : must be volatile or the compiler optimizes it away into a single load
13 struct util_thread_starter_state
21 struct util_thread_starter_thread_state
25 /***** prototypes *****/
26 void util_thread_starter_new( struct util_thread_starter_state **tts, lfds700_pal_uint_t number_threads );
27 void util_thread_starter_start( struct util_thread_starter_state *tts,
28 test_pal_thread_state_t *thread_state,
29 lfds700_pal_uint_t thread_number,
30 struct test_pal_logical_processor *lp,
31 test_pal_thread_return_t (TEST_PAL_CALLING_CONVENTION *thread_function)( void *thread_user_state ),
32 void *thread_user_state );
33 void util_thread_starter_ready_and_wait( struct util_thread_starter_thread_state *tsts );
34 void util_thread_starter_run( struct util_thread_starter_state *tts );
35 void util_thread_starter_delete( struct util_thread_starter_state *tts );
37 void util_thread_start_wrapper( test_pal_thread_state_t *thread_state,
38 struct test_pal_logical_processor *lp,
39 test_pal_thread_return_t (TEST_PAL_CALLING_CONVENTION *thread_function)(void *thread_user_state),
40 void *thread_user_state );