Sigaction测试点4求助:16/18 【已解决】

Daytoy
🔖︎ 4 订阅
👍︎ 6 点赞

已经全部参照讨论区的注意点修改了自己的代码,但是测试点4依然有2个点不能通过,测试点6则是全部不能通过。想问一下有没有同学也遇到过类似的问题,都是怎么解决的呢?

6.24
先后经历了16/18和17/18,可以考虑以下的调整
【1】对SIGSEGV的操作,实现KILL+正常分配+schedule
【2】对于入口函数env_set_sig_entry(),注意是否已经在lib.c中声明,并考虑将入口函数放置到libos.c的libmain()中
【3】恢复现场时,对于处理的是SIGSYS信号的情况,cp0_epc加4
【4】默认的信号处理放在用户态中即可

回复主题帖

邓伟键
👍︎ 0 点赞

我现在是第四个点16/18
其他点全过
有什么可能的原因吗


邓伟键 回复 邓伟键
👍︎ 0 点赞

问题已解决
在SIGSEGV命令的处理过程中
我的方法是
kill + schedule,这时候16/18
改成 kill + 照常分配地址 + schedule,这时候18/18

回复主题帖

luluplum
👍︎ 0 点赞

解决了吗?我也遇到相同问题,错误是something unexpected occur。

回复主题帖

刘志千
👍︎ 0 点赞

SIGKILL不可被阻塞
在sigpending可能需要特判一下

我修改这个地方之后第四个点就过了

0%