summaryrefslogtreecommitdiffstats
path: root/init/builtins.cpp
diff options
context:
space:
mode:
authorElliott Hughes <enh@google.com>2015-03-11 18:20:28 +0000
committerGerrit Code Review <noreply-gerritcodereview@google.com>2015-03-11 18:20:29 +0000
commita4d98484a2b64d215d1d35830693a16cf2873308 (patch)
tree964f8600863eb64c4e514c4ca182d5cb67bd4788 /init/builtins.cpp
parent9fabbbfb03a877e13936b8829e4641cf1b9aebb7 (diff)
parent8d82ea05cb0945ba6cb8bf321b9ffbd0b6932745 (diff)
downloadsystem_core-a4d98484a2b64d215d1d35830693a16cf2873308.zip
system_core-a4d98484a2b64d215d1d35830693a16cf2873308.tar.gz
system_core-a4d98484a2b64d215d1d35830693a16cf2873308.tar.bz2
Merge "Implement exec."
Diffstat (limited to 'init/builtins.cpp')
-rw-r--r--init/builtins.cpp11
1 files changed, 8 insertions, 3 deletions
diff --git a/init/builtins.cpp b/init/builtins.cpp
index b4204d8..1ae6bf6 100644
--- a/init/builtins.cpp
+++ b/init/builtins.cpp
@@ -172,11 +172,16 @@ int do_enable(int nargs, char **args)
return 0;
}
-int do_exec(int nargs, char **args)
-{
- return -1;
+int do_exec(int nargs, char** args) {
+ service* svc = make_exec_oneshot_service(nargs, args);
+ if (svc == NULL) {
+ return -1;
+ }
+ service_start(svc, NULL);
+ return 0;
}
+// TODO: remove execonce when exec is available.
int do_execonce(int nargs, char **args)
{
pid_t child;