]> rtime.felk.cvut.cz Git - rtems-pluggable-edf.git/commitdiff
test_cbs: includes an overrun handler
authorPetr Benes <benesp16@fel.cvut.cz>
Wed, 27 Apr 2011 22:20:57 +0000 (00:20 +0200)
committerPetr Benes <benesp16@fel.cvut.cz>
Wed, 27 Apr 2011 22:20:57 +0000 (00:20 +0200)
src/test_cbs/task.c

index 9d0b34db2e742fb25e75bc6b13cd53aad91ad3f7..4185b675bb0ee5c48244ff855bbd3af4efd3f795 100644 (file)
 #define T1_PER 7
 #define T2_PER 10
 #define T1_SERVER 0
-#define T2_SERVER 0
+#define T2_SERVER 2
 
-void test_loop ( unsigned int id, rtems_name name, unsigned int period_length, unsigned int max_j, uint32_t server)
+rtems_asr overrun_handler (rtems_signal_set signals) {
+       printf("SIGNAL kill you \n");
+}
+
+void test_loop ( unsigned int id, rtems_name name, unsigned int period_length, unsigned int max_j, uint32_t server, rtems_asr_entry handler)
 {
   rtems_id period;
   rtems_status_code status;
@@ -41,7 +45,7 @@ void test_loop ( unsigned int id, rtems_name name, unsigned int period_length, u
   }
   
   max_i = 1000; 
-  edf_deadline_init(period_length, server, NULL);
+  edf_deadline_init(period_length, server, handler);
   while ( 1 ) {
          edf_next_period();
          if (rtems_rate_monotonic_period(period,period_length)==RTEMS_TIMEOUT)
@@ -91,7 +95,7 @@ rtems_task Task_1(
 {
        rtems_name name;
        name = rtems_build_name( 'P', 'E', 'R', 'A' );
-       test_loop(1, name, T1_PER,T1_DUR,T1_SERVER);
+       test_loop(1, name, T1_PER,T1_DUR,T1_SERVER, NULL);
 }
 
 
@@ -101,7 +105,7 @@ rtems_task Task_2(
 {
        rtems_name name;
        name = rtems_build_name( 'P', 'E', 'R', 'B' );
-       test_loop(2, name, T2_PER,T2_DUR,T2_SERVER);
+       test_loop(2, name, T2_PER,T2_DUR,T2_SERVER, overrun_handler);
 
 }