From: Frans B. <F.B...@op...> - 2004-10-18 08:15:01
|
Hello, =20 If this is your program... =20 ############################### use Win32::GUI; use threads; =20 $W =3D new GUI::Window( -title =3D> "Window", -left =3D> 100, -top =3D> 100, -width =3D> 550, -height =3D> 300, -name =3D> "Window", ) or print_and_die("new Window"); =20 sub test { threads->yield(); sleep(1); } =20 $thread =3D threads->new(\&test); =20 $W->Show; Win32::GUI::Dialog(); =20 $thread->join(); ################################ =20 ...it crashes rather nastily. (Windows crash popup) And you get the following perl error message:=20 'Free to wrong pool 1a415d0 not 224ce8 at C:/Perl/site/lib/Win32/GUI.pm line 3158 during global destruction.' =20 It does not crash if you either: 1. comment out the Window creation (Which makes sense as line 3158 is a Win32::GUI::DestroyWindow statement) =20 2.comment out the $thread->join()...=20 (?) =20 Still this seems to be the way to go, what am I missing? =20 I'm using ActivePerl 5.8.4 Frans =20 =20 =20 |