created | 2022-03-13T19:48:14Z |
---|---|
begin | 2022-03-11T08:29:21Z |
end | 2022-03-11T10:05:38Z |
path | src/sys |
commits | 1 |
date | 2022-03-11T10:05:38Z | |||
---|---|---|---|---|
author | claudio | |||
files | src/sys/kern/kern_sig.c | log | diff | annotate |
message |
Revert part of rev 1.293. Using cursig() to deliver masked signals to the debugger can cause a loop between the debugger and cursig() if the signal is masked. cursig() has no way to know which signal was already delivered to the debugger and so it delivers the same signal over and over again. Instead handle traps to masked signals directly in trapsignal. This is what rev 1.293 was mostly about. If SIGTRAP was masked by the process breakpoints no longer worked since the signal deliver to the debugger did not happen. Doing this case in trapsignal solves both the problem with the loop and the delivery of masked traps. Problem reported and fix tested by matthieu@ OK kettenis@ mpi@ |