diff options
Diffstat (limited to 'meta/recipes-core/util-linux/util-linux/util-linux-ng-replace-siginterrupt.patch')
-rw-r--r-- | meta/recipes-core/util-linux/util-linux/util-linux-ng-replace-siginterrupt.patch | 24 |
1 files changed, 15 insertions, 9 deletions
diff --git a/meta/recipes-core/util-linux/util-linux/util-linux-ng-replace-siginterrupt.patch b/meta/recipes-core/util-linux/util-linux/util-linux-ng-replace-siginterrupt.patch index f131b763ca..6717a75a90 100644 --- a/meta/recipes-core/util-linux/util-linux/util-linux-ng-replace-siginterrupt.patch +++ b/meta/recipes-core/util-linux/util-linux/util-linux-ng-replace-siginterrupt.patch @@ -1,27 +1,33 @@ Upstream-Status: Pending -Index: util-linux-2.22.1/login-utils/login.c -=================================================================== ---- util-linux-2.22.1.orig/login-utils/login.c -+++ util-linux-2.22.1/login-utils/login.c -@@ -1239,6 +1239,8 @@ int main(int argc, char **argv) +Signed-off-by: Chen Qi <Qi.Chen@windriver.com> +--- + login-utils/login.c | 5 ++++- + 1 file changed, 4 insertions(+), 1 deletion(-) + +diff --git a/login-utils/login.c b/login-utils/login.c +index ebb76f5..38c881b 100644 +--- a/login-utils/login.c ++++ b/login-utils/login.c +@@ -1110,6 +1110,7 @@ int main(int argc, char **argv) char *buff; int childArgc = 0; int retcode; + struct sigaction act; -+ char *pwdbuf = NULL; struct passwd *pwd = NULL, _pwd; -@@ -1252,7 +1254,10 @@ int main(int argc, char **argv) +@@ -1123,7 +1124,9 @@ int main(int argc, char **argv) timeout = (unsigned int)getlogindefs_num("LOGIN_TIMEOUT", LOGIN_TIMEOUT); signal(SIGALRM, timedout); -- siginterrupt(SIGALRM, 1); /* we have to interrupt syscalls like ioclt() */ +- siginterrupt(SIGALRM, 1); /* we have to interrupt syscalls like ioctl() */ + (void) sigaction(SIGALRM, NULL, &act); + act.sa_flags &= ~SA_RESTART; + sigaction(SIGALRM, &act, NULL); -+ alarm(timeout); signal(SIGQUIT, SIG_IGN); signal(SIGINT, SIG_IGN); +-- +1.9.1 + |