Subject: [PATCH] ash: make 'sleep' a builtin
shawnlandden at tutanota.com
shawnlandden at tutanota.com
Sat Aug 27 04:19:30 UTC 2022
This reduces the number of processes spawned when in an indefinate
do-nothing loop in a shell script.
Signed-off-by: Shawn Landden <shawnlandden at tutanota.com>
---
shell/ash.c | 11 +++++++++++
1 file changed, 11 insertions(+)
diff --git a/shell/ash.c b/shell/ash.c
index 55c1034f5..eba7759e7 100644
--- a/shell/ash.c
+++ b/shell/ash.c
@@ -134,6 +134,11 @@
//config: default y
//config: depends on SHELL_ASH
//config:
+//config:config ASH_SLEEP
+//config: bool "sleep builtin"
+//config: default y
+//config: depends on SHELL_ASH
+//config:
//config:config ASH_HELP
//config: bool "help builtin"
//config: default y
@@ -10155,6 +10160,9 @@ static int FAST_FUNC printfcmd(int argc, char **argv) { return printf_main(argc,
#if ENABLE_ASH_TEST || BASH_TEST2
static int FAST_FUNC testcmd(int argc, char **argv) { return test_main(argc, argv); }
#endif
+#if ENABLE_ASH_SLEEP
+static int FAST_FUNC sleepcmd(int argc, char **argv) { return sleep_main(argc, argv); }
+#endif
/* Keep these in proper order since it is searched via bsearch() */
static const struct builtincmd builtintab[] = {
@@ -10217,6 +10225,9 @@ static const struct builtincmd builtintab[] = {
{ BUILTIN_SPEC_REG "return" , returncmd },
{ BUILTIN_SPEC_REG "set" , setcmd },
{ BUILTIN_SPEC_REG "shift" , shiftcmd },
+#if ENABLE_ASH_SLEEP
+ { BUILTIN_REGULAR "sleep" , sleepcmd },
+#endif
#if BASH_SOURCE
{ BUILTIN_SPEC_REG "source" , dotcmd },
#endif
--
2.36.1
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.busybox.net/pipermail/busybox/attachments/20220827/92d529cc/attachment.html>
More information about the busybox
mailing list