我们在 VxWorks 中有以下代码:
sig_hdr () { ... }
task_low_priority() {
...
// Install signal handler for SIGUSR1
signal(SIGUSR1, sig_hdr);
...
}
task_high_priority() {
...
kill(pid, SIGUSR1); //pid is the ID of task_low_priority
...
}
高优先级任务向低优先级任务发送信号(通过 kill)。高优先级任务会被抢占,低优先级任务会立即执行,还是会延迟信号直到低优先级任务开始运行?