comment added
This commit is contained in:
@@ -94,6 +94,22 @@ sys_uptime(void)
|
||||
return xticks;
|
||||
}
|
||||
|
||||
// sys_sigalarm函数用于设置进程的定时信号处理机制。
|
||||
// 参数:
|
||||
// alarm_cnt:定时器计数值,表示每经过alarm_cnt个时钟中断后触发一次信号处理。
|
||||
// addr:信号处理函数的用户空间地址。
|
||||
// 实现:
|
||||
// 1. 通过argint和argaddr获取用户传入的参数。
|
||||
// 2. 将进程的inter_cnt(中断计数器)清零。
|
||||
// 3. 保存信号处理函数地址和定时器计数值到进程结构体。
|
||||
// 4. 返回0,表示设置成功。
|
||||
|
||||
// sys_sigreturn函数用于在信号处理函数执行完毕后恢复进程的上下文。
|
||||
// 实现:
|
||||
// 1. 获取当前进程指针。
|
||||
// 2. 将trapframe恢复为信号处理前保存的pre_trapframe,恢复进程上下文。
|
||||
// 3. 将inter_cnt(中断计数器)清零,重新计数。
|
||||
// 4. 返回信号处理前a0寄存器的值,作为系统调用的返回值。
|
||||
uint64
|
||||
sys_sigalarm(void)
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user