This variable does not contain "sigs" (plural).
It contains either 0 or (one) signal number of a pending signal.

For someone unfamiliar with this code, "pendingsigs" name is confusing -
it hints at being an array or bit mask of pending singnals.

Signed-off-by: Denys Vlasenko <dvlas...@redhat.com>
CC: dash@vger.kernel.org
---
"pending_sig" is the name in use in another ash derivative, busybox's ash.
I would like to ask you to use exactly this name (not, say, "pendingsig"),
if possible, so that our code does not needlessly diverge further.

 src/jobs.c      |  4 ++--
 src/miscbltin.c |  2 +-
 src/trap.c      | 10 +++++-----
 src/trap.h      |  2 +-
 4 files changed, 9 insertions(+), 9 deletions(-)

diff --git a/src/jobs.c b/src/jobs.c
index 4f02e38..f0d34ab 100644
--- a/src/jobs.c
+++ b/src/jobs.c
@@ -648,7 +648,7 @@ out:
        return retval;
 
 sigout:
-       retval = 128 + pendingsigs;
+       retval = 128 + pending_sig;
        goto out;
 }
 
@@ -1147,7 +1147,7 @@ waitproc(int block, int *status)
                sigfillset(&mask);
                sigprocmask(SIG_SETMASK, &mask, &oldmask);
 
-               while (!gotsigchld && !pendingsigs)
+               while (!gotsigchld && !pending_sig)
                        sigsuspend(&oldmask);
 
                sigclearmask();
diff --git a/src/miscbltin.c b/src/miscbltin.c
index 39b9c47..5ccbbcb 100644
--- a/src/miscbltin.c
+++ b/src/miscbltin.c
@@ -152,7 +152,7 @@ readcmd(int argc, char **argv)
                case 1:
                        break;
                default:
-                       if (errno == EINTR && !pendingsigs)
+                       if (errno == EINTR && !pending_sig)
                                continue;
                                /* fall through */
                case 0:
diff --git a/src/trap.c b/src/trap.c
index edb9938..69eb8ab 100644
--- a/src/trap.c
+++ b/src/trap.c
@@ -73,7 +73,7 @@ char sigmode[NSIG - 1];
 /* indicates specified signal received */
 static char gotsig[NSIG - 1];
 /* last pending signal */
-volatile sig_atomic_t pendingsigs;
+volatile sig_atomic_t pending_sig;
 /* received SIGCHLD */
 int gotsigchld;
 
@@ -291,7 +291,7 @@ onsig(int signo)
        }
 
        gotsig[signo - 1] = 1;
-       pendingsigs = signo;
+       pending_sig = signo;
 
        if (signo == SIGINT && !trap[SIGINT]) {
                if (!suppressint)
@@ -314,7 +314,7 @@ void dotrap(void)
        int i;
        int status, last_status;
 
-       if (!pendingsigs)
+       if (!pending_sig)
                return;
 
        status = savestatus;
@@ -323,7 +323,7 @@ void dotrap(void)
                status = exitstatus;
                savestatus = status;
        }
-       pendingsigs = 0;
+       pending_sig = 0;
        barrier();
 
        for (i = 0, q = gotsig; i < NSIG - 1; i++, q++) {
@@ -331,7 +331,7 @@ void dotrap(void)
                        continue;
 
                if (evalskip) {
-                       pendingsigs = i + 1;
+                       pending_sig = i + 1;
                        break;
                }
 
diff --git a/src/trap.h b/src/trap.h
index 7573fd7..b9dfcf2 100644
--- a/src/trap.h
+++ b/src/trap.h
@@ -38,7 +38,7 @@
 
 extern int trapcnt;
 extern char sigmode[];
-extern volatile sig_atomic_t pendingsigs;
+extern volatile sig_atomic_t pending_sig;
 extern int gotsigchld;
 
 int trapcmd(int, char **);
-- 
2.9.2

--
To unsubscribe from this list: send the line "unsubscribe dash" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to