File tree Expand file tree Collapse file tree 3 files changed +4
-2
lines changed Expand file tree Collapse file tree 3 files changed +4
-2
lines changed Original file line number Diff line number Diff line change @@ -48,6 +48,7 @@ struct thread_info {
48
48
#define TIF_NEED_RESCHED 2
49
49
#define TIF_SINGLESTEP 3
50
50
#define TIF_NOTIFY_RESUME 4 /* callback before returning to user */
51
+ #define TIF_NOTIFY_SIGNAL 5 /* signal notifications exist */
51
52
#define TIF_SYSCALL_TRACE 8
52
53
#define TIF_POLLING_NRFLAG 17
53
54
#define TIF_MEMDIE 18
@@ -57,6 +58,7 @@ struct thread_info {
57
58
#define _TIF_SIGPENDING (1 << TIF_SIGPENDING)
58
59
#define _TIF_NEED_RESCHED (1 << TIF_NEED_RESCHED)
59
60
#define _TIF_NOTIFY_RESUME (1 << TIF_NOTIFY_RESUME)
61
+ #define _TIF_NOTIFY_SIGNAL (1 << TIF_NOTIFY_SIGNAL)
60
62
#define _TIF_SINGLESTEP (1 << TIF_SINGLESTEP)
61
63
#define _TIF_SYSCALL_TRACE (1 << TIF_SYSCALL_TRACE)
62
64
#define _TIF_POLLING_NRFLAG (1 << TIF_POLLING_NRFLAG)
Original file line number Diff line number Diff line change @@ -120,7 +120,7 @@ work_pending:
120
120
andi $p1, $r1, #_TIF_NEED_RESCHED
121
121
bnez $p1, work_resched
122
122
123
- andi $p1, $r1, #_TIF_SIGPENDING|#_TIF_NOTIFY_RESUME
123
+ andi $p1, $r1, #_TIF_SIGPENDING|#_TIF_NOTIFY_RESUME|#_TIF_NOTIFY_SIGNAL
124
124
beqz $p1, no_work_pending
125
125
126
126
move $r0, $sp ! 'r egs'
Original file line number Diff line number Diff line change @@ -376,7 +376,7 @@ static void do_signal(struct pt_regs *regs)
376
376
asmlinkage void
377
377
do_notify_resume (struct pt_regs * regs , unsigned int thread_flags )
378
378
{
379
- if (thread_flags & _TIF_SIGPENDING )
379
+ if (thread_flags & ( _TIF_SIGPENDING | _TIF_NOTIFY_SIGNAL ) )
380
380
do_signal (regs );
381
381
382
382
if (thread_flags & _TIF_NOTIFY_RESUME )
You can’t perform that action at this time.
0 commit comments