On Sat, Jun 07, 2003 at 10:04:58AM +1000, [EMAIL PROTECTED] wrote: > POE + perl-tk is a really nice environment for > writing event driven programs. It works fine on > linux [though the debugging info is not always > all you would wish for]. > > I want to write a portable program, and I'm trying > to get it to work under cygwin. It goes into an > infinite loop in IO.pm, specifically: > perl5\site_perl\5.8.0\cygwin-multi-64int\Tk\Event\IO.pm. > What happens there is that a sub FILENO: > > sub FILENO > { > my $obj = shift; > my $h = $obj->handle; > return fileno($h); > } > > the final call to fileno actually goes straight > back into FILENO. [I tried putting CORE:: in front > but that made no difference]. So it looks like > $obj->handle returns $obj instead of something > more basic. I've tried both win32 and x11 versions > of Tk800.023-1 which seems to be the last cygwin > compatible version. > > Presumably it is a cygwin problem, but I'm happy > to entertain perl-Tk or POE workarounds. Or I'll > have to try to fix it [otherwise the Java proponents > will say "I told you so"]. > > The file handle is almost certainly stdout or stderr > of a child program (run using POE::Wheel::Run). > > So I guess my questions are: > > 1. Will I do better with other versions of cygwin, > perl, perl-Tk, POE?
Unknown. I was able to install cygwin and Perl, but I keep getting crashes in DLLs when I run anything. It's very frustrating. > 2. Any suggestions for fixes? No. But honestly I can't think of why this would go infinite. As far as I know, this is all within Perl and its ability to deal with tied filehandles. Theoretically, any problem here would also manifest on 5.8.0 elsewhere. > 3. Any suggestions for workarounds? Here are some blind stabs at it: fileno(*$h) ... also CORE::fileno(*$h). $h->fileno()? You may need to use IO::Handle. My first guess would have been CORE::fileno($h) but you tried that. Has anyone reported success, failure, or patches to comp.lang.perl.tk? > 4. Any suggestions for where to look to try to fix it? comp.lang.perl.tk, and google for whatever mailing lists it may have been mentioned on. -- Rocco Caputo - [EMAIL PROTECTED] - http://poe.perl.org/