diff options
Diffstat (limited to 'meta/packages/util-linux/util-linux-2.17.2/util-linux-ng-replace-siginterrupt.patch')
-rw-r--r-- | meta/packages/util-linux/util-linux-2.17.2/util-linux-ng-replace-siginterrupt.patch | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/meta/packages/util-linux/util-linux-2.17.2/util-linux-ng-replace-siginterrupt.patch b/meta/packages/util-linux/util-linux-2.17.2/util-linux-ng-replace-siginterrupt.patch new file mode 100644 index 0000000000..4b5eb73760 --- /dev/null +++ b/meta/packages/util-linux/util-linux-2.17.2/util-linux-ng-replace-siginterrupt.patch | |||
@@ -0,0 +1,23 @@ | |||
1 | Index: util-linux-ng-2.14/login-utils/login.c | ||
2 | =================================================================== | ||
3 | --- util-linux-ng-2.14.orig/login-utils/login.c 2008-05-28 16:01:02.000000000 -0700 | ||
4 | +++ util-linux-ng-2.14/login-utils/login.c 2009-03-04 18:31:42.000000000 -0800 | ||
5 | @@ -358,6 +358,7 @@ | ||
6 | char *childArgv[10]; | ||
7 | char *buff; | ||
8 | int childArgc = 0; | ||
9 | + struct sigaction act; | ||
10 | #ifdef HAVE_SECURITY_PAM_MISC_H | ||
11 | int retcode; | ||
12 | pam_handle_t *pamh = NULL; | ||
13 | @@ -373,7 +374,9 @@ | ||
14 | pid = getpid(); | ||
15 | |||
16 | signal(SIGALRM, timedout); | ||
17 | - siginterrupt(SIGALRM,1); /* we have to interrupt syscalls like ioclt() */ | ||
18 | + (void) sigaction(SIGALRM, NULL, &act); | ||
19 | + act.sa_flags &= ~SA_RESTART; | ||
20 | + sigaction(SIGALRM, &act, NULL); | ||
21 | alarm((unsigned int)timeout); | ||
22 | signal(SIGQUIT, SIG_IGN); | ||
23 | signal(SIGINT, SIG_IGN); | ||