IO-Tty

 view release on metacpan or  search on metacpan

Pty.pm  view on Meta::CPAN

    $class = ref($class) if ref($class);
    @_ <= 1 or croak 'usage: new $class';

    my ( $ptyfd, $ttyfd, $ttyname ) = pty_allocate();

    croak "Cannot open a pty" if not defined $ptyfd;

    my $pty = $class->SUPER::new_from_fd( $ptyfd, "r+" );
    croak "Cannot create a new $class from fd $ptyfd: $!" if not $pty;
    $pty->autoflush(1);
    bless $pty => $class;

    my $slave = IO::Tty->new_from_fd( $ttyfd, "r+" );
    croak "Cannot create a new IO::Tty from fd $ttyfd: $!" if not $slave;
    $slave->autoflush(1);

    ${*$pty}{'io_pty_slave'}     = $slave;
    ${*$pty}{'io_pty_ttyname'}   = $ttyname;
    ${*$slave}{'io_tty_ttyname'} = $ttyname;

    return $pty;

 view all matches for this distribution
 view release on metacpan -  search on metacpan

( run in 1.402 second using v1.00-cache-2.02-grep-82fe00e-cpan-1925d2aa809 )