Use the new sig_send() and sig_post() primitives.
[bertos.git] / bertos / kern / signal_test.c
index ea8c76e26fde6f9768810ad48e6e627ef50de091..8169f496c6cb749b30aa31354cc6491092e7ba71 100644 (file)
@@ -76,27 +76,24 @@ sigmask_t sig_to_slave;
  * These macros generate the code needed to create the test process functions.
  */
 #define PROC_TEST_SLAVE(index, signal) \
-static void NORETURN proc_signalTest##index(void) \
+static void proc_signalTest##index(void) \
 { \
-       for(;;) \
-       { \
-               kprintf("> Slave [%d]: Wait signal [%d]\n", index, signal); \
-               sig_wait(signal); \
-               kprintf("> Slave [%d]: send signal [%d]\n", index, signal); \
-               sig_signal(proc_currentUserData(), signal); \
-       } \
-} \
+       kputs("> Slave [" #index "]: Wait signal [" #signal "]\n"); \
+       sig_wait(signal); \
+       kputs("> Slave [" #index "]: send signal [" #signal "]\n"); \
+       sig_send(proc_currentUserData(), signal); \
+}
 
 #define MAIN_CHECK_SIGNAL(index, slave) \
        do { \
                kprintf("> Main: send signal [%d]\n", test_signal[index]); \
-               sig_signal(slave, test_signal[index]); \
+               sig_send(slave, test_signal[index]); \
                kprintf("> Main: wait signal [%d]\n", test_signal[index]); \
                sig_wait(test_signal[index]); \
                count++; \
        } while(0) \
 
-#define PROC_TEST_SLAVE_STACK(index) static cpu_stack_t proc_signal_test##index##_stack[700 / sizeof(cpu_stack_t)];
+#define PROC_TEST_SLAVE_STACK(index) PROC_DEFINE_STACK(proc_signal_test##index##_stack, KERN_MINSTACKSIZE);
 #define PROC_TEST_SLAVE_INIT(index, master_process) proc_new(proc_signalTest##index, master_process, sizeof(proc_signal_test##index##_stack), proc_signal_test##index##_stack)
 
 // Generate the code for signal test.
@@ -166,12 +163,6 @@ int signal_testSetup(void)
 {
        kdbg_init();
 
-       #if CONFIG_KERN_PREEMPT
-               kprintf("Init Interrupt (preempt mode)..");
-               irq_init();
-               kprintf("Done.\n");
-       #endif
-
        kprintf("Init Timer..");
        timer_init();
        kprintf("Done.\n");