new helpers: {clear,test,test_and_clear}_restore_sigmask()
[sfrench/cifs-2.6.git] / arch / sparc / include / asm / thread_info_64.h
index 7f0981b094517aace2b461e2f6d7db9aa6d0fbfa..cb9b7a9f5fc1ccf81b88e268b4d70a41ac20b895 100644 (file)
@@ -240,6 +240,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 /* __KERNEL__ */