From dc0acc2cf3d3325785392f27fec0f12bebf4ccf8 Mon Sep 17 00:00:00 2001 From: sangorrin Date: Wed, 13 Jun 2007 18:21:17 +0000 Subject: [PATCH] signals before dettach git-svn-id: http://www.frescor.org/private/svn/frescor/fosa/trunk@468 35b4ef3e-fd22-0410-ab77-dab3279adceb --- src_marte/test_fosa_ads.c | 46 +++++++++++++++++++++++---------------- 1 file changed, 27 insertions(+), 19 deletions(-) diff --git a/src_marte/test_fosa_ads.c b/src_marte/test_fosa_ads.c index 152be8a..fdab52f 100644 --- a/src_marte/test_fosa_ads.c +++ b/src_marte/test_fosa_ads.c @@ -262,33 +262,17 @@ int main () { sleep (3); ////////////////////////////////////////////////////////////// - // 2d) Dettach from application scheduler + // 2d) Signals ////////////////////////////////////////////////////////////// printf("--------------------------------------------------\n"); - printf("2d) Dettach from application scheduler\n"); - - err = fosa_ads_set_appscheduled (tid1, false); - printf("dettach thread 1, err=%d\n", err); - assert(err == 0); - - err = fosa_ads_set_appscheduled (tid2, false); - printf("dettach thread 2, err=%d\n", err); - assert(err == 0); - - err = fosa_ads_get_appscheduled (tid1, &is_appsched); - printf("thread 1 is dettached? %d, err=%d\n", is_appsched, err); - assert(err == 0); - - err = fosa_ads_get_appscheduled (tid2, &is_appsched); - printf("thread 2 is dettached? %d, err=%d\n", is_appsched, err); - assert(err == 0); + printf("2d) Signals\n"); signal_action.command = SUSPEND; signal_action.thread_id = tid1; timer_info.sival_ptr = (void *)&signal_action; err = fosa_timer_create - (FOSA_CLOCK_REALTIME, FOSA_SIGNAL_MAX, timer_info, &timerid); + (FOSA_CLOCK_REALTIME, FOSA_SIGNAL_MAX, timer_info, &timerid); printf("timer created, err=%d\n", err); assert(err == 0); @@ -308,6 +292,30 @@ int main () { fosa_timer_delete(timerid); + sleep (5); + + ////////////////////////////////////////////////////////////// + // 2e) Dettach from application scheduler + ////////////////////////////////////////////////////////////// + printf("--------------------------------------------------\n"); + printf("2e) Dettach from application scheduler\n"); + + err = fosa_ads_set_appscheduled (tid1, false); + printf("dettach thread 1, err=%d\n", err); + assert(err == 0); + + err = fosa_ads_set_appscheduled (tid2, false); + printf("dettach thread 2, err=%d\n", err); + assert(err == 0); + + err = fosa_ads_get_appscheduled (tid1, &is_appsched); + printf("thread 1 is dettached? %d, err=%d\n", is_appsched, err); + assert(err == 0); + + err = fosa_ads_get_appscheduled (tid2, &is_appsched); + printf("thread 2 is dettached? %d, err=%d\n", is_appsched, err); + assert(err == 0); + sleep(1000); return 0; } -- 2.39.2