On Wednesday 22 March 2006 07:31, Chris Wright wrote:
> + static char *envp[] = { "HOME=/", "TERM=linux",
> + "PATH=/sbin:/usr/sbin:/bin:/usr/bin", NULL };
> + static char *restart_argv[] = { "/sbin/reboot", NULL };
> + static char *poweroff_argv[] = { "/sbin/poweroff", NULL };
It would be better if that was user configurable.
> + extern asmlinkage long sys_reboot(int magic1, int magic2,
> + unsigned int cmd, void *arg);
This is what linux/syscalls.h is there for.
> + daemonize("shutdown");
What is that good for?
> +
> + switch (shutting_down) {
> + case SHUTDOWN_POWEROFF:
> + case SHUTDOWN_HALT:
> + if (execve("/sbin/poweroff", poweroff_argv, envp) < 0) {
You should probably keep track if the execve already happened and if it is called
again do the sys_reboot directly.
-Andi
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
[Index of Archives]
[Kernel Newbies]
[Netfilter]
[Bugtraq]
[Photo]
[Stuff]
[Gimp]
[Yosemite News]
[MIPS Linux]
[ARM Linux]
[Linux Security]
[Linux RAID]
[Video 4 Linux]
[Linux for the blind]
[Linux Resources]