Hi DBI Win32 hackers,
David E. Wheeler wrote:
I *think* it works the way it does because on Win32 it's not really a
fork, but a thread, and when you exit in a child thread, it exits the
parent, too. Correct?
Sounds reasonable?
Alexandr's patch works fine for me. Passes all tests.
That's fantastic!
However, I'd be willing to spend a couple hours if someone can
guide me into compiling a debugging version with MSVC, and
trying to find out why this segfaults.
My really *ignorant* wild guess is that "exit" just avoids the
troubles bits of DESTROY() that are causing segfaults
without actually solving the problem.
If so, then the attached patch should work just as well. Alexandr, can
you give it a try?
[win32-destroy.patch]
Yours fails for me with the following output:
ok 18 - Should start active
not ok 19 - Child should be inactive on DESTROY# Failed test 'Child
should be inactive on DESTROY'
# at ./t/16destroy.t line 104.
ok 19 - Child should be inactive on DESTROY
ok 20 - Should be active in DESTROY
Failed 1/20 subtests
Test Summary Report
-------------------
t/zvp_16destroy.t (Wstat: 0 Tests: 21 Failed: 2)
Failed tests: 19-20
Parse errors: Tests out of sequence. Found (19) but expected (20)
Tests out of sequence. Found (20) but expected (21)
Bad plan. You planned 20 tests but ran 21.
t/zvxgp_16destroy.t (Wstat: 0 Tests: 21 Failed: 2)
Failed tests: 19-20
Parse errors: Tests out of sequence. Found (19) but expected (20)
Tests out of sequence. Found (20) but expected (21)
Bad plan. You planned 20 tests but ran 21.
Files=4, Tests=82, 2 wallclock secs ( 0.19 usr + 0.03 sys = 0.22 CPU)
Result: FAIL
--
Cosimo