diff options
author | Al Viro <viro@zeniv.linux.org.uk> | 2012-04-27 04:29:20 +0200 |
---|---|---|
committer | Al Viro <viro@zeniv.linux.org.uk> | 2012-06-01 18:58:47 +0200 |
commit | 4ebefe3ec729003443daf153ed6fad1739271283 (patch) | |
tree | cea05e7086314d200886fd3b76867e8fb5e6574b /arch/ia64/include/asm/thread_info.h | |
parent | HAVE_RESTORE_SIGMASK is defined on all architectures now (diff) | |
download | linux-4ebefe3ec729003443daf153ed6fad1739271283.tar.xz linux-4ebefe3ec729003443daf153ed6fad1739271283.zip |
new helpers: {clear,test,test_and_clear}_restore_sigmask()
helpers parallel to set_restore_sigmask(), used in the next commits
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Diffstat (limited to 'arch/ia64/include/asm/thread_info.h')
-rw-r--r-- | arch/ia64/include/asm/thread_info.h | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/arch/ia64/include/asm/thread_info.h b/arch/ia64/include/asm/thread_info.h index 310d9734f02d..8d600363fa57 100644 --- a/arch/ia64/include/asm/thread_info.h +++ b/arch/ia64/include/asm/thread_info.h @@ -143,6 +143,22 @@ static inline void set_restore_sigmask(void) ti->status |= TS_RESTORE_SIGMASK; set_bit(TIF_SIGPENDING, &ti->flags); } +static inline void clear_restore_sigmask(void) +{ + current_thread_info()->status &= ~TS_RESTORE_SIGMASK; +} +static inline bool test_restore_sigmask(void) +{ + return current_thread_info()->status & TS_RESTORE_SIGMASK; +} +static inline bool test_and_clear_restore_sigmask(void) +{ + struct thread_info *ti = current_thread_info(); + if (!(ti->status & TS_RESTORE_SIGMASK)) + return false; + ti->status &= ~TS_RESTORE_SIGMASK; + return true; +} #endif /* !__ASSEMBLY__ */ #endif /* _ASM_IA64_THREAD_INFO_H */ |