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);
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;
}