[testsuite] Fix gdb-orphanripper.c lockup on F-17 (/dev/pts/* glibc chown).

This commit is contained in:
Jan Kratochvil 2013-01-13 08:22:50 +01:00
parent f92430a872
commit ab816baf60
2 changed files with 14 additions and 5 deletions

View File

@ -48,9 +48,11 @@
static const char *progname; static const char *progname;
static volatile int signal_chld_hit = 0; static volatile int signal_chld_hit = 0;
static volatile pid_t child;
static void signal_chld (int signo) static void signal_chld (int signo)
{ {
if (child && kill (child, 0) != 0)
signal_chld_hit = 1; signal_chld_hit = 1;
} }
@ -62,7 +64,6 @@ static void signal_alrm (int signo)
} }
static char childptyname[LINE_MAX]; static char childptyname[LINE_MAX];
static pid_t child;
static void print_child_error (const char *reason, char **argv) static void print_child_error (const char *reason, char **argv)
{ {
@ -203,8 +204,13 @@ static int spawn (char **argv, int timeout)
pollfd.fd = amaster; pollfd.fd = amaster;
pollfd.events = POLLIN; pollfd.events = POLLIN;
i = ppoll (&pollfd, 1, NULL, &set); i = ppoll (&pollfd, 1, NULL, &set);
if (i == -1 && errno == EINTR && signal_chld_hit) if (i == -1 && errno == EINTR)
{
if (signal_chld_hit)
break; break;
/* Non-CHILD child may have exited. */
continue;
}
assert (i == 1); assert (i == 1);
/* Data available? Process it first. */ /* Data available? Process it first. */
if (pollfd.revents & POLLIN) if (pollfd.revents & POLLIN)

View File

@ -34,7 +34,7 @@ Version: 7.5.1
# The release always contains a leading reserved number, start it at 1. # The release always contains a leading reserved number, start it at 1.
# `upstream' is not a part of `name' to stay fully rpm dependencies compatible for the testing. # `upstream' is not a part of `name' to stay fully rpm dependencies compatible for the testing.
Release: 34%{?dist} Release: 35%{?dist}
License: GPLv3+ and GPLv3+ with exceptions and GPLv2+ and GPLv2+ with exceptions and GPL+ and LGPLv2+ and BSD and Public Domain License: GPLv3+ and GPLv3+ with exceptions and GPLv2+ and GPLv2+ with exceptions and GPL+ and LGPLv2+ and BSD and Public Domain
Group: Development/Debuggers Group: Development/Debuggers
@ -1446,6 +1446,9 @@ fi
%endif # 0%{!?el5:1} || "%{_target_cpu}" == "noarch" %endif # 0%{!?el5:1} || "%{_target_cpu}" == "noarch"
%changelog %changelog
* Sun Jan 13 2013 Jan Kratochvil <jan.kratochvil@redhat.com> - 7.5.1-35.fc18
- [testsuite] Fix gdb-orphanripper.c lockup on F-17 (/dev/pts/* glibc chown).
* Tue Jan 8 2013 Jan Kratochvil <jan.kratochvil@redhat.com> - 7.5.1-34.fc18 * Tue Jan 8 2013 Jan Kratochvil <jan.kratochvil@redhat.com> - 7.5.1-34.fc18
- Update dlopen to support map_failed probe of glibc (Gary Benson, BZ 886516). - Update dlopen to support map_failed probe of glibc (Gary Benson, BZ 886516).