equal
deleted
inserted
replaced
674 void random_isr(unsigned n) |
674 void random_isr(unsigned n) |
675 { |
675 { |
676 random_isr_msg* m; |
676 random_isr_msg* m; |
677 unsigned extra = 1; |
677 unsigned extra = 1; |
678 unsigned count = 1; |
678 unsigned count = 1; |
679 int r; |
|
680 if (!(n%11)) |
679 if (!(n%11)) |
681 ++count; |
680 ++count; |
682 if (!(n%13)) |
681 if (!(n%13)) |
683 ++count; |
682 ++count; |
684 while (count--) |
683 while (count--) |
686 m = (random_isr_msg*)alloc_mem_block(sizeof(random_isr_msg)); |
685 m = (random_isr_msg*)alloc_mem_block(sizeof(random_isr_msg)); |
687 m->header.msg_id = MSG_ID_RND_ISR; |
686 m->header.msg_id = MSG_ID_RND_ISR; |
688 m->random_isr_number = n; |
687 m->random_isr_number = n; |
689 extra *= n; |
688 extra *= n; |
690 m->extra = extra; |
689 m->extra = extra; |
691 r = send_msg(L1_TASK, &m->header); |
690 send_msg(L1_TASK, &m->header); |
692 } |
691 } |
693 if (random_sem_signal_count && !--random_sem_signal_count) |
692 if (random_sem_signal_count && !--random_sem_signal_count) |
694 { |
693 { |
695 random_sem_signal_count = random_sem_signal_interval; |
694 random_sem_signal_count = random_sem_signal_interval; |
696 semaphore_signal(ISR_SEM); |
695 semaphore_signal(ISR_SEM); |