xref: /OK3568_Linux_fs/buildroot/package/kexec-lite/0001-clean-restart.patch (revision 4882a59341e53eb6f0b4789bf948001014eff981)
1*4882a593SmuzhiyunFrom 0a654c20e1b9324c57ba4116b52fb6ab33847e1d Mon Sep 17 00:00:00 2001
2*4882a593SmuzhiyunFrom: Jeremy Kerr <jk@ozlabs.org>
3*4882a593SmuzhiyunDate: Thu, 8 Aug 2013 17:16:31 +0800
4*4882a593SmuzhiyunSubject: [PATCH] kexec: Implement clean restart for busybox init
5*4882a593Smuzhiyun
6*4882a593SmuzhiyunSigned-off-by: Jeremy Kerr <jk@ozlabs.org>
7*4882a593Smuzhiyun---
8*4882a593Smuzhiyun kexec.c |    3 ++-
9*4882a593Smuzhiyun 1 file changed, 2 insertions(+), 1 deletion(-)
10*4882a593Smuzhiyun
11*4882a593Smuzhiyundiff --git a/kexec.c b/kexec.c
12*4882a593Smuzhiyunindex 2edb7df..b2a0c42 100644
13*4882a593Smuzhiyun--- a/kexec.c
14*4882a593Smuzhiyun+++ b/kexec.c
15*4882a593Smuzhiyun@@ -27,6 +27,7 @@
16*4882a593Smuzhiyun #include <fcntl.h>
17*4882a593Smuzhiyun #include <errno.h>
18*4882a593Smuzhiyun #include <syscall.h>
19*4882a593Smuzhiyun+#include <signal.h>
20*4882a593Smuzhiyun #include <libfdt.h>
21*4882a593Smuzhiyun #include <getopt.h>
22*4882a593Smuzhiyun #include <sys/types.h>
23*4882a593Smuzhiyun@@ -818,7 +819,7 @@ int main(int argc, char *argv[])
24*4882a593Smuzhiyun 			sync();
25*4882a593Smuzhiyun 			exec_kexec();
26*4882a593Smuzhiyun 		} else {
27*4882a593Smuzhiyun-			execlp("shutdown", "shutdown", "-r", "now", NULL);
28*4882a593Smuzhiyun+			kill(1, SIGQUIT);
29*4882a593Smuzhiyun 		}
30*4882a593Smuzhiyun
31*4882a593Smuzhiyun 		return -1;
32*4882a593Smuzhiyun--
33*4882a593Smuzhiyun1.7.10.4
34*4882a593Smuzhiyun
35