integrate changes#7858,7986 from mainline
C<foreach my $x ...> in pseudo-fork()ed process may diddle
parent's memory; fix it by keeping track of the actual pad
offset rather than a raw pointer (this change is probably also
relevant to non-ithreads case to avoid fallout from reallocs of
the pad array, but is currently only enabled for the ithreads
case in the interests of minimal disruption to existing "well
tested" code)
fix open(FOO, ">&MYSOCK") failure under Windows 9x (problem is
due to the notorious GetFileType() bug in Windows 9x, which fstat()
tickles)
p4raw-link: @7986 on //depot/perl:
ed59ec62717f0f88ed3d32dff6bf15dd59269b91
p4raw-link: @7858 on //depot/perl:
c3564e5c35b594706ecb001261b86a47fb837059
p4raw-id: //depot/maint-5.6/perl@8167
p4raw-integrated: from //depot/perl@8166 'ignore' win32/perlhost.h
(@7985..) 'merge in' win32/win32sck.c (@7756..) scope.h
(@7792..) win32/win32.h (@7972..) win32/win32.c (@7984..)
p4raw-integrated: from //depot/perl@7858 'copy in' t/op/fork.t
(@6874..) 'merge in' scope.c (@7435..) objXSUB.h perlapi.c
(@7744..) global.sym (@7756..) pp_ctl.c (@7784..) sv.c
(@7824..) embed.h embed.pl proto.h (@7855..)