4 回复
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
其他点全过
有什么可能的原因吗
保留所有权利
创建于:2024-06-21 10:44:36
最后修改于:2024-06-21 10:44:36
最后修改于:2024-06-21 10:44:36
邓伟键 回复 邓伟键
👍︎ 0 点赞
问题已解决
在SIGSEGV命令的处理过程中
我的方法是
kill +
schedule,这时候16/18
改成 kill + 照常分配地址 +
schedule,这时候18/18
保留所有权利
创建于:2024-06-21 11:01:47
最后修改于:2024-06-21 11:01:47
最后修改于:2024-06-21 11:01:47
回复主题帖
luluplum
👍︎ 0 点赞
解决了吗?我也遇到相同问题,错误是something unexpected occur。
保留所有权利
创建于:2024-06-22 13:29:24
最后修改于:2024-06-22 13:29:24
最后修改于:2024-06-22 13:29:24
回复主题帖
刘志千
👍︎ 0 点赞
SIGKILL不可被阻塞
在sigpending可能需要特判一下
我修改这个地方之后第四个点就过了
CC0 1.0
创建于:2024-06-24 15:39:30
最后修改于:2024-06-24 15:39:30
最后修改于:2024-06-24 15:39:30