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/

Reply via email to