summaryrefslogtreecommitdiff
path: root/shell/cmdedit.c
diff options
context:
space:
mode:
authorEric Andersen <andersen@codepoet.org>2001-05-17 00:14:27 +0000
committerEric Andersen <andersen@codepoet.org>2001-05-17 00:14:27 +0000
commitbfae2529b8aa7b12b19da2ec7ad00ba717941074 (patch)
tree975962b521c9e653e63f065fa1ac731f88bbd744 /shell/cmdedit.c
parent2439a5982876ef4c8ec7291e156e73f244775ba8 (diff)
downloadbusybox-w32-bfae2529b8aa7b12b19da2ec7ad00ba717941074.tar.gz
busybox-w32-bfae2529b8aa7b12b19da2ec7ad00ba717941074.tar.bz2
busybox-w32-bfae2529b8aa7b12b19da2ec7ad00ba717941074.zip
It turns out job control in both hush and lash was broken by the
signal handling in cmdedit.c. Disabling it makes the shells behave themselves again. hush isn't quite there, but is getting close... -Erik
Diffstat (limited to 'shell/cmdedit.c')
-rw-r--r--shell/cmdedit.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/shell/cmdedit.c b/shell/cmdedit.c
index ec9939312..cc39e562a 100644
--- a/shell/cmdedit.c
+++ b/shell/cmdedit.c
@@ -571,6 +571,7 @@ extern void cmdedit_init(void)
571 atexit(cmdedit_reset_term); /* be sure to do this only once */ 571 atexit(cmdedit_reset_term); /* be sure to do this only once */
572 } 572 }
573 573
574#if 0
574 if ((handlers_sets & SET_TERM_HANDLERS) == 0) { 575 if ((handlers_sets & SET_TERM_HANDLERS) == 0) {
575 signal(SIGKILL, clean_up_and_die); 576 signal(SIGKILL, clean_up_and_die);
576 signal(SIGINT, clean_up_and_die); 577 signal(SIGINT, clean_up_and_die);
@@ -578,6 +579,7 @@ extern void cmdedit_init(void)
578 signal(SIGTERM, clean_up_and_die); 579 signal(SIGTERM, clean_up_and_die);
579 handlers_sets |= SET_TERM_HANDLERS; 580 handlers_sets |= SET_TERM_HANDLERS;
580 } 581 }
582#endif
581 583
582} 584}
583 585
@@ -1487,6 +1489,7 @@ prepare_to_die:
1487extern void cmdedit_terminate(void) 1489extern void cmdedit_terminate(void)
1488{ 1490{
1489 cmdedit_reset_term(); 1491 cmdedit_reset_term();
1492#if 0
1490 if ((handlers_sets & SET_TERM_HANDLERS) != 0) { 1493 if ((handlers_sets & SET_TERM_HANDLERS) != 0) {
1491 signal(SIGKILL, SIG_DFL); 1494 signal(SIGKILL, SIG_DFL);
1492 signal(SIGINT, SIG_DFL); 1495 signal(SIGINT, SIG_DFL);
@@ -1495,6 +1498,7 @@ extern void cmdedit_terminate(void)
1495 signal(SIGWINCH, SIG_DFL); 1498 signal(SIGWINCH, SIG_DFL);
1496 handlers_sets &= ~SET_TERM_HANDLERS; 1499 handlers_sets &= ~SET_TERM_HANDLERS;
1497 } 1500 }
1501#endif
1498} 1502}
1499 1503
1500#endif /* BB_FEATURE_COMMAND_EDITING */ 1504#endif /* BB_FEATURE_COMMAND_EDITING */