platform_system_core/toolbox/start.c
Sreeram Ramachandran 018c6a57f3 Stop and start netd explicitly for "adb shell stop/start".
netd is supposed to be restarted when the zygote is restarted (see the
"onrestart" section for "service zygote" in init.zygote*.rc). But this
only works if you send a restart command (say via "ctl.restart").

"stop && start" != "restart". It seems ingrained in developers to do
"stop && start", so we don't have much hope of convincing everyone to
switch to "adb shell restart", even if we did add such a toolbox command.

Bug: 15855807
Change-Id: I387fe86600f4a2862abc3a05a2ef9a1e7374e21d
2014-07-19 18:36:32 +00:00

21 lines
502 B
C

#include <string.h>
#include <stdio.h>
#include <stdlib.h>
#include <cutils/properties.h>
int start_main(int argc, char *argv[])
{
if(argc > 1) {
property_set("ctl.start", argv[1]);
} else {
/* defaults to starting the common services stopped by stop.c */
property_set("ctl.start", "netd");
property_set("ctl.start", "surfaceflinger");
property_set("ctl.start", "zygote");
property_set("ctl.start", "zygote_secondary");
}
return 0;
}