Whamcloud - gitweb
LU-9859 libcfs: improve API and implementation of blocking signals.
[fs/lustre-release.git] / libcfs / include / libcfs / linux / linux-wait.h
index fd154ba..5a3f548 100644 (file)
@@ -208,9 +208,9 @@ __out:      __ret;                                                          \
        wait_queue_entry_t __wq_entry;                                  \
        unsigned long flags;                                            \
        long __ret = ret;       /* explicit shadow */                   \
-       sigset_t __blocked;                                             \
+       sigset_t __old_blocked;                                         \
                                                                        \
-       __blocked = cfs_block_sigsinv(0);                               \
+       cfs_block_sigsinv(0, &__old_blocked);                           \
        init_wait(&__wq_entry);                                         \
        if (exclusive)                                                  \
                __wq_entry.flags = WQ_FLAG_EXCLUSIVE;                   \
@@ -238,7 +238,7 @@ __out:      __ret;                                                          \
                cmd;                                                    \
        }                                                               \
        finish_wait(&wq_head, &__wq_entry);                             \
-       cfs_restore_sigs(__blocked);                                    \
+       cfs_restore_sigs(&__old_blocked);                               \
        __ret;                                                          \
 })
 
@@ -473,9 +473,9 @@ do {                                                                        \
        wait_queue_entry_t __wq_entry;                                  \
        unsigned long flags;                                            \
        long __ret = ret;       /* explicit shadow */                   \
-       sigset_t __blocked;                                             \
+       sigset_t __old_blocked;                                         \
                                                                        \
-       __blocked = cfs_block_sigsinv(0);                               \
+       cfs_block_sigsinv(0, &__old_blocked);                           \
        init_wait(&__wq_entry);                                         \
        __wq_entry.flags = WQ_FLAG_EXCLUSIVE;                           \
        for (;;) {                                                      \
@@ -495,7 +495,7 @@ do {                                                                        \
                }                                                       \
                cmd;                                                    \
        }                                                               \
-       cfs_restore_sigs(__blocked);                                    \
+       cfs_restore_sigs(&__old_blocked);                               \
        finish_wait(&wq_head, &__wq_entry);                             \
        __ret;                                                          \
 })