From: sangorrin Date: Wed, 13 Jun 2007 18:21:17 +0000 (+0000) Subject: signals before dettach X-Git-Url: http://rtime.felk.cvut.cz/gitweb/frescor/fosa.git/commitdiff_plain/dc0acc2cf3d3325785392f27fec0f12bebf4ccf8 signals before dettach git-svn-id: http://www.frescor.org/private/svn/frescor/fosa/trunk@468 35b4ef3e-fd22-0410-ab77-dab3279adceb --- 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; }