diff options
-rw-r--r-- | shell/ash.c | 13 |
1 files changed, 7 insertions, 6 deletions
diff --git a/shell/ash.c b/shell/ash.c index 1764b43c9..8bdeb44ae 100644 --- a/shell/ash.c +++ b/shell/ash.c | |||
@@ -425,9 +425,10 @@ struct globals_misc { | |||
425 | struct jmploc *exception_handler; | 425 | struct jmploc *exception_handler; |
426 | 426 | ||
427 | /*volatile*/ int suppress_int; /* counter */ | 427 | /*volatile*/ int suppress_int; /* counter */ |
428 | /* ^^^^^^^ removed "volatile" since gcc would turn suppress_int++ into ridiculouls | 428 | /* ^^^^^^^ removed "volatile" since on x86, gcc turns suppress_int++ |
429 | * 3-insn sequence otherwise. | 429 | * into ridiculous 3-insn sequence otherwise. |
430 | * We don't change suppress_int asyncronously (in a signal handler), but we do read it async. | 430 | * We don't change suppress_int asyncronously (in a signal handler), |
431 | * but we do read it async. | ||
431 | */ | 432 | */ |
432 | volatile /*sig_atomic_t*/ smallint pending_int; /* 1 = got SIGINT */ | 433 | volatile /*sig_atomic_t*/ smallint pending_int; /* 1 = got SIGINT */ |
433 | volatile /*sig_atomic_t*/ smallint got_sigchld; /* 1 = got SIGCHLD */ | 434 | volatile /*sig_atomic_t*/ smallint got_sigchld; /* 1 = got SIGCHLD */ |
@@ -9438,7 +9439,7 @@ evaltree(union node *n, int flags) | |||
9438 | } | 9439 | } |
9439 | if (flags & EV_EXIT) { | 9440 | if (flags & EV_EXIT) { |
9440 | exexit: | 9441 | exexit: |
9441 | raise_exception(EXEND); | 9442 | raise_exception(EXEND); /* does not return */ |
9442 | } | 9443 | } |
9443 | 9444 | ||
9444 | popstackmark(&smark); | 9445 | popstackmark(&smark); |
@@ -10466,7 +10467,7 @@ evalcommand(union node *cmd, int flags) | |||
10466 | 10467 | ||
10467 | /* We have a redirection error. */ | 10468 | /* We have a redirection error. */ |
10468 | if (spclbltin > 0) | 10469 | if (spclbltin > 0) |
10469 | raise_exception(EXERROR); | 10470 | raise_exception(EXERROR); /* does not return */ |
10470 | 10471 | ||
10471 | goto out; | 10472 | goto out; |
10472 | } | 10473 | } |
@@ -14571,7 +14572,7 @@ procargs(char **argv) | |||
14571 | optlist[i] = 2; | 14572 | optlist[i] = 2; |
14572 | if (options(&login_sh)) { | 14573 | if (options(&login_sh)) { |
14573 | /* it already printed err message */ | 14574 | /* it already printed err message */ |
14574 | raise_exception(EXERROR); | 14575 | raise_exception(EXERROR); /* does not return */ |
14575 | } | 14576 | } |
14576 | xargv = argptr; | 14577 | xargv = argptr; |
14577 | xminusc = minusc; | 14578 | xminusc = minusc; |