aboutsummaryrefslogtreecommitdiffstats
path: root/meta/recipes-core/util-linux/util-linux/util-linux-ng-replace-siginterrupt.patch
diff options
context:
space:
mode:
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.patch15
1 files changed, 8 insertions, 7 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 ef56048c60..f131b763ca 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,10 +1,10 @@
Upstream-Status: Pending
-Index: util-linux-2.21/login-utils/login.c
+Index: util-linux-2.22.1/login-utils/login.c
===================================================================
---- util-linux-2.21.orig/login-utils/login.c
-+++ util-linux-2.21/login-utils/login.c
-@@ -1216,6 +1216,8 @@ int main(int argc, char **argv)
+--- 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)
char *buff;
int childArgc = 0;
int retcode;
@@ -13,14 +13,15 @@ Index: util-linux-2.21/login-utils/login.c
char *pwdbuf = NULL;
struct passwd *pwd = NULL, _pwd;
-@@ -1229,7 +1231,9 @@ int main(int argc, char **argv)
- timeout = getlogindefs_num("LOGIN_TIMEOUT", LOGIN_TIMEOUT);
+@@ -1252,7 +1254,10 @@ 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() */
+ (void) sigaction(SIGALRM, NULL, &act);
+ act.sa_flags &= ~SA_RESTART;
+ sigaction(SIGALRM, &act, NULL);
- alarm((unsigned int)timeout);
++
+ alarm(timeout);
signal(SIGQUIT, SIG_IGN);
signal(SIGINT, SIG_IGN);