aboutsummaryrefslogtreecommitdiffstats
path: root/init/builtins.c
diff options
context:
space:
mode:
authorJean-Baptiste Queru <jbq@google.com>2009-09-01 08:28:21 -0700
committerJean-Baptiste Queru <jbq@google.com>2009-09-01 08:28:21 -0700
commit8c92ba1921fc8dc3fc7cc39ef854e9ee70fafc67 (patch)
treedb381770ca1f3244b0aedfd5633b0f6efcf2fab5 /init/builtins.c
parentbdb9831ce9195c15ab6f2c01d809fb7946dd2f34 (diff)
parente86a2c7ceb767bce5c9a6706d7f36289d3e5de49 (diff)
downloadsystem_core-8c92ba1921fc8dc3fc7cc39ef854e9ee70fafc67.tar.gz
system_core-8c92ba1921fc8dc3fc7cc39ef854e9ee70fafc67.tar.bz2
system_core-8c92ba1921fc8dc3fc7cc39ef854e9ee70fafc67.zip
merge from open-source master
Diffstat (limited to 'init/builtins.c')
-rw-r--r--init/builtins.c16
1 files changed, 15 insertions, 1 deletions
diff --git a/init/builtins.c b/init/builtins.c
index cc7c9d16..1e7cb4e8 100644
--- a/init/builtins.c
+++ b/init/builtins.c
@@ -131,6 +131,18 @@ static void service_start_if_not_disabled(struct service *svc)
}
}
+int do_chdir(int nargs, char **args)
+{
+ chdir(args[1]);
+ return 0;
+}
+
+int do_chroot(int nargs, char **args)
+{
+ chroot(args[1]);
+ return 0;
+}
+
int do_class_start(int nargs, char **args)
{
/* Starting a class does not start services
@@ -206,7 +218,7 @@ int do_insmod(int nargs, char **args)
int do_import(int nargs, char **args)
{
- return -1;
+ return parse_config_file(args[1]);
}
int do_mkdir(int nargs, char **args)
@@ -400,6 +412,8 @@ int do_restart(int nargs, char **args)
int do_trigger(int nargs, char **args)
{
+ action_for_each_trigger(args[1], action_add_queue_tail);
+ drain_action_queue();
return 0;
}