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/