Bug#742965: libc0.1: openpty()/forkpty() fail on kfreebsd =9.0

2014-04-04 Thread Petr Salinger
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

Bug#742965: libc0.1: openpty()/forkpty() fail on kfreebsd =9.0

2014-04-03 Thread Adam Borowski
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

Bug#742965: libc0.1: openpty()/forkpty() fail on kfreebsd =9.0

2014-04-02 Thread Petr Salinger
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

Bug#742965: libc0.1: openpty()/forkpty() fail on kfreebsd =9.0

2014-03-29 Thread Adam Borowski
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