diff options
Diffstat (limited to 'include/linux/sched/signal.h')
| -rw-r--r-- | include/linux/sched/signal.h | 18 | 
1 files changed, 18 insertions, 0 deletions
| diff --git a/include/linux/sched/signal.h b/include/linux/sched/signal.h index ae5655197698..e412c092c1e8 100644 --- a/include/linux/sched/signal.h +++ b/include/linux/sched/signal.h @@ -418,10 +418,20 @@ static inline void set_restore_sigmask(void)  	set_thread_flag(TIF_RESTORE_SIGMASK);  	WARN_ON(!test_thread_flag(TIF_SIGPENDING));  } + +static inline void clear_tsk_restore_sigmask(struct task_struct *tsk) +{ +	clear_tsk_thread_flag(tsk, TIF_RESTORE_SIGMASK); +} +  static inline void clear_restore_sigmask(void)  {  	clear_thread_flag(TIF_RESTORE_SIGMASK);  } +static inline bool test_tsk_restore_sigmask(struct task_struct *tsk) +{ +	return test_tsk_thread_flag(tsk, TIF_RESTORE_SIGMASK); +}  static inline bool test_restore_sigmask(void)  {  	return test_thread_flag(TIF_RESTORE_SIGMASK); @@ -439,6 +449,10 @@ static inline void set_restore_sigmask(void)  	current->restore_sigmask = true;  	WARN_ON(!test_thread_flag(TIF_SIGPENDING));  } +static inline void clear_tsk_restore_sigmask(struct task_struct *tsk) +{ +	tsk->restore_sigmask = false; +}  static inline void clear_restore_sigmask(void)  {  	current->restore_sigmask = false; @@ -447,6 +461,10 @@ static inline bool test_restore_sigmask(void)  {  	return current->restore_sigmask;  } +static inline bool test_tsk_restore_sigmask(struct task_struct *tsk) +{ +	return tsk->restore_sigmask; +}  static inline bool test_and_clear_restore_sigmask(void)  {  	if (!current->restore_sigmask) |