Commit graph

4 commits

Author SHA1 Message Date
David Gumberg
1c3cb91f72 Use the getopt function in compliance with the standard.
This is a simple change to the use of getopt in reboot.c, as per the standard,
getopt does NOT return an EOF, it returns a -1, (this was done to remove
getopt's dependence on stdio.h), and since the standard does not guarantee 
that EOF is -1, and the documentation tells us that getopt returns -1, 
in my judgement it would be best to test for -1, rather than EOF.

Change-Id: I63a3bb7011eb60753eb910221bbe8ce0a71e6679
Signed-off-by: David Gumberg <davidzgumberg@gmail.com>
2014-03-02 18:35:49 +00:00
Nick Kralevich
917045222a Don't return immediately from reboot commands.
The reboot commands return too fast, interfering with testing.
Add a pause(), which will allow the device time to complete the
reboot.

Change-Id: Ie9cc6eea67b7ff662ec71ea2329cbb94f8d55404
Bug: 11369303
2013-10-24 11:01:16 -07:00
Nick Kralevich
ca8e66a8b0 Make init handle reboots
Move the responsibility for rebooting the system from the
reboot command to init. Init is in a better position to take
actions to bring the system down cleanly, including making sure
filesystems are mounted read-only.

The only UIDs which can perform an init triggered reboot are
root, system, and shell.

Modify the reboot command so that it calls into init to perform
the reboot. The reboot command no longer requires CAP_SYS_BOOT.

Remove the -n reboot option and code which supports it.  Anyone needing
to do an unclean shutdown can just do a 'echo c > /proc/sysrq-trigger'.

Modify adb so that it calls into init to perform a shutdown.

Bug: 8646621
Change-Id: I84c0513acb549720cb0e8c9fcbda0050f5c396f5
2013-04-23 13:21:40 -07:00
Benoit Goby
c6d7e200ed toolbox: Make reboot a separate command from toolbox
Set the CAP_SYS_BOOT filesystem capability on the new reboot
command and keep CAP_SYS_BOOT in adb bounding set so that the
shell user can run it.

Change-Id: I1dd6143445ee2a952254f0452ab6e544318431dd
2013-03-26 12:24:10 -07:00