I wonder how to fix it. Merely documenting the restriction isn't really
anoption, as no widespread system has it. Saving the signal handler,
disabling it then restoring would work but introduces a slight race
condition (a child process can exit while we're in grantpt()).
In fact, it is
On Wed, Apr 02, 2014 at 09:45:23AM +0200, Petr Salinger wrote:
The problem is not the handler for SIGCHLD, but it's content.
Yeah, same happens with SA_NOCLDWAIT, it's about whether the child gets
reaped.
I doubt that the testcase worked under previous kernels.
My bad, I did not test this
Hi.
I doubt that the testcase worked under previous kernels.
The problem is not the handler for SIGCHLD, but it's content.
The openpty() uses internally fork and waitpid.
The waitpid in the testcase signal handler eats result needed by
openpty implementation.
Petr
--
To UNSUBSCRIBE, email to
Package: libc0.1
Version: 2.18-4
Severity: normal
If a process has a handler for SIGCHLD, openpty() fails on kfreebsd with 9.x
kernels. It worked ok on 8.x, and works on real (ie, no glibc) FreeBSD.
A reduced test case attached; when commenting out the sigaction line,
openpty() starts working
4 matches
Mail list logo