Problem with serial port access in Tk app?

"John R." <[email protected]>
Newsgroups gmane.comp.lang.perl.poe
Message-ID <[email protected]>
 From the Cookbook item under SerialPorts I have the following code 
snippet that works in a small test program (pretty much the Cookbook item:

     # Open a serial port, and tie it to a file handle for POE.

     my $handle = gensym();
     my $port = tie( *$handle, "Device::SerialPort", "/dev/ttyS0" );
     die "can't open port: $!" unless $port;

     $port->datatype('raw');
     $port->baudrate(9600);
     $port->databits(8);
     $port->parity("none");
     $port->stopbits(2);
     $port->handshake("xof");
     $port->write_settings();

     # Start interacting with the scanner.

     $heap->{port}       = $port;

     print"DEBUG: Before ReadWrite->new\n";

     $heap->{port_wheel} = POE::Wheel::ReadWrite->new(
         Handle => $handle,
         Filter => POE::Filter::Line->new(
             InputLiteral  => "\x0D\x0A",    # Received line endings.
             OutputLiteral => "\x0D",        # Sent line endings.
         ),
         InputEvent => "got_port",
         ErrorEvent => "got_error",
						     );

     print"DEBUG: After ReadWrite->new\n";

However, when I incorporate this in a Tk based application I get the 
following output/error:

DEBUG: Before ReadWrite->new
Handle not opened for input at 
/usr/lib/perl5/vendor_perl/5.8.8/i686-linux/Tk/Event/IO.pm line 122.

In the that file, line 122 is the first code line in this snippet:

    # set the handler
    my $h = $obj->handler($imode,$cb);
    undef $obj;  # Prevent warnings about untie with ref to object
    unless ($h)
     {
      untie *$file;
     }


Any ideas?

Thanks,

John
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.