noxxi / p5-io-socket-ssl

IO::Socket::SSL Perl Module
36 stars 59 forks source link

Better skipping of tests requiring fork() #18

Closed steve-m-hay closed 9 years ago

steve-m-hay commented 9 years ago

Windows doesn't have a real fork() and only has a fork() emulation when built with ithreads and -D PERL_IMPLICIT_SYS. ($Config{d_pseudofork} can be used to identify such builds on recent perls, but was only added in Perl 5.8.9/5.10.0.)

noxxi commented 9 years ago

On Fri, Oct 10, 2014 at 01:30:18AM -0700, Steve Hay notifications@github.com wrote:

Windows doesn't have a real fork() and only has a fork() emulation when built with ithreads and -D PERL_IMPLICIT_SYS. ($Config{d_pseudofork} can be used to identify such builds on recent perls, but was only added in Perl 5.8.9/5.10.0.)

Hi Steve, I cannot reproduce your problem. For me the tests using fork run fine, even on windows. This includes the tests from IO::Socket::SSL but I've also tried the SSL and IPv6 tests from libnet-3.01, which also use fork. I've tried with strawberry perl 5.18.2 on windows 7, what do you use?

Regards, Steffen

steve-m-hay commented 9 years ago

On 10 October 2014 18:14, Steffen Ullrich notifications@github.com wrote:

On Fri, Oct 10, 2014 at 01:30:18AM -0700, Steve Hay < notifications@github.com> wrote:

Windows doesn't have a real fork() and only has a fork() emulation when built with ithreads and -D PERL_IMPLICIT_SYS. ($Config{d_pseudofork} can be used to identify such builds on recent perls, but was only added in Perl 5.8.9/5.10.0.)

Hi Steve, I cannot reproduce your problem. For me the tests using fork run fine, even on windows. This includes the tests from IO::Socket::SSL but I've also tried the SSL and IPv6 tests from libnet-3.01, which also use fork. I've tried with strawberry perl 5.18.2 on windows 7, what do you use?

I use a perl which I build myself with PERL_IMPLICIT_SYS disabled (set USE_IMP_SYS=undef in the win32/Makefile).

This disables the perlhost stuff which is a requirement of the fork() emulation in perl on Windows, hence my perl doesn't have a fork() implementation.

(I've always disabled it because I want to use perl's malloc(), which I've found performs much better than the system malloc() on Windows, but enabling that (set PERL_MALLOC=define in the win32/Makefile) requires disabling USE_IMP_SYS...)

noxxi commented 9 years ago

I've merged your request. Thanks a lot, Steffen