At 7:27 AM -0400 6/6/00, Barrie Slaymaker wrote:
>Barrie Slaymaker wrote:
>>
>
>Another thought occurs: IO::Pty has no test suite, but it does
>have a "try" program that should do something like:
>
>[barries@jester IO-Tty-0.03]$ ./try
>Using /home/barries/.cpan/build/IO-Tty-0.03/blib
>io_pty_ttyname/dev/ttya0
>master IO::Pty=GLOB(0x81765f0) *Symbol::GEN0 /dev/ttya0
>slave IO::Tty=GLOB(0x8177b38) *Symbol::GEN1 /dev/ttya0
>1
>2
>3
>4
>5
>6
>7
>8
>9
>10
>[barries@jester IO-Tty-0.03]$
bin@schinder% ./try
Using /usr/local/src/.cpan/build/IO-Tty-0.03/blib
io_pty_ttyname/dev/ttya0
master IO::Pty=GLOB(0x1016b19c) *Symbol::GEN0 /dev/ttya0
slave IO::Tty=GLOB(0x1016c6e4) *Symbol::GEN1 /dev/ttya0
1
2
3
4
5
6
7
8
9
10
>
>Also, if IPC-Run-0.31's (which I sent to schinder directly so as not
>to send a 30k attachment to the list) t/pty.t doesn't show much, there's
>a line like
>
># $IPC::Run::debug = 2 ;
>
>near the top of t/pty.t that will shed more light on what's happening
>if it's uncommented.
Odd things are happening. With 0.31:
bin@schinder% perl -Mblib t/pty.t
Using /usr/local/src/.cpan/build/IPC-Run-0.31/blib
1..32
ok 1
not ok 2
# Test 2 got: '' (t/pty.t at line 68)
# Expected: qr/(?-xism:^HELLO\n(?!\n)$)/
ok 3
ok 4
not ok 5
# Test 5 got: 'HELLO
' (t/pty.t at line 80)
# Expected: qr/(?-xism:^HELLO\nWORLD\n(?!\n)$)/
ok 6
ok 7
ok 8
ok 9
not ok 10
# Test 10 got: 'hello
' (t/pty.t at line 104)
# Expected: qr/(?i-xsm:^(?:hello\r?\n){2}(?!\n)$)/
ok 11
not ok 12
# Test 12 got: 'hello
HELLO
world
' (t/pty.t at line 113)
# Expected: qr/(?i-xsm:^(?:hello\r?\n){2}(?:world\r?\n){2}(?!\n)$)/
ok 13
ok 14
ok 15
ok 16
ok 17
ok 18
ok 19
ok 20
ok 21
ok 22
ok 23
ok 24
ok 25
ok 26
ok 27
ok 28
ok 29
ok 30
ok 31
With 0.31, with debug = 2
1..32
ok 1
ok 2
ok 3
ok 4
ok 5
ok 6
ok 7
ok 8
ok 9
ok 10
ok 11
ok 12
ok 13
ok 14
ok 15
ok 16
ok 17
ok 18
ok 19
ok 20
ok 21
ok 22
ok 23
ok 24
ok 25
ok 26
ok 27
ok 28
ok 29
ok 30
ok 31
ok 32
Here's the stderr:
Using /usr/local/src/.cpan/build/IPC-Run-0.31/blib
harness: 012--------- ** harnessing
harness: 012--------- parsing [ 'perl', '-e', '$| = 1 ;
harness: 012--------- $s = select STDOUT ; $| = 1 ; select $s ;
harness: 012--------- while (<>) {
harness: 012--------- print ;
harness: 012--------- print STDERR uc $_ ;
harness: 012--------- last if /quit/ ;
harness: 012--------- }
harness: 012--------- ' ]
harness: 012--------- parsing '<pty<'
harness: 012--------- parsing '>'
harness: 012--------- parsing '2>'
harness: 012--------- ** starting
harness: 012--------- opening pty '0'
harness: 0123-------- pty() = 3
harness: 0123-------- found /usr/local/bin/perl
harness: 0123-------- 'perl' added to cache: '/usr/local/bin/perl'
harness: 0123-------- kid to read 0 from pty '0'
harness: 0123-------- kid 1 to read 0 from SCALAR via pty '0'
harness: 0123-------- kid 1 to write 1 to SCALAR
harness: 012345------ pipe() = ( 4, 5 )
harness: 012345------ kid 1 to write 2 to SCALAR
harness: 01234567---- pipe() = ( 6, 7 )
harness: 01234567---- creating debug pipe
harness: 0123456789-- pipe() = ( 8, 9 )
harness: 0123456789-- kid 0[]'s 9 is my 8
harness: 0123456789-- kid 0[]'s 0 is my 3
harness: 0123456789-- kid 0[]'s 1 is my 4
harness: 0123456789-- kid 0[]'s 2 is my 6
harness: 0123456789-- fork() = 7593
harness: 012345678--- close( 9 )
harness: 01234-678--- close( 5 )
harness: 01234-6-8--- close( 7 )
harness: 01234-6-8--- ** pumping
harness: 01234-6-8--- selecting ---wr-r-r--- with timeout=forever
harness: 01234-6-8--- selected ---wr-r-r---
harness: 01234-6-8--- filtering data to fd 3 (kid's stdin)
harness: 01234-6-8--- writing to fd 3 (kid's stdin)
harness: 01234-6-8--- write( 3, 'hello
harness: 01234-6-8--- ' ) = 6
harness: 01234-6-8--- ** pumping
harness: 01234-6-8--- selecting ---wr-r-r--- with timeout=forever
harness: 01234-6-8--- selected ---wr-r-r---
harness: 01234-6-8--- filtering data to fd 3 (kid's stdin)
harness: 01234-6-8--- pausing fd 3 (kid's stdin)
harness: 01234-6-8--- checking fd 3 (kid's stdin)
harness: 01234-6-8--- pausing fd 3 (kid's stdin)
harness: 01234-6-8--- selecting ---pr-r-r--- with timeout=forever
harness: 01234-6-8--- selected ---pr-r-r---
harness[7593]: 0123456789-- Cleaning up parent's ptty '0'
harness[7593]: 012-4567890- closing stdin, out, err
harness[7593]: ----4567-90- close( 8 )
harness[7593]: -----567-90- close( 4 )
harness[7593]: -----5-7-90- close( 6 )
harness[7593]: 0----5-7-90- dup2( 10, 0 ) = 0
harness[7593]: 01---5-7-90- dup2( 5, 1 ) = 1
harness[7593]: 012--5-7-90- dup2( 7, 2 ) = 2
harness[7593]: 012--5-7-9-- close( 10 )
harness[7593]: 012----7-9-- close( 5 )
harness[7593]: 012------9-- close( 7 )
harness[7593]: 012------9-- execing /usr/local/bin/perl
harness: 01234-6-8--- filtering data from fd 4 (kid's stdout)
harness: 01234-6-8--- reading from fd 4 (kid's stdout)
harness: 01234-6-8--- read( 4 ) = 'hello
harness: 01234-6-8--- '
harness: 01234-6-8--- filtering data from fd 6 (kid's stderr)
harness: 01234-6-8--- reading from fd 6 (kid's stderr)
harness: 01234-6-8--- read( 6 ) = 'HELLO
harness: 01234-6-8--- '
harness: 01234-6-8--- ** pumping
harness: 01234-6-8--- checking fd 3 (kid's stdin)
harness: 01234-6-8--- writing to fd 3 (kid's stdin)
harness: 01234-6-8--- write( 3, 'world
harness: 01234-6-8--- ' ) = 6
harness: 01234-6-8--- pausing fd 3 (kid's stdin)
harness: 01234-6-8--- selecting ---pr-r-r--- with timeout=forever
harness: 01234-6-8--- selected ---pr-r-r---
harness: 01234-6-8--- closing debug (8) (kid's fd 9)
harness: 01234-6----- close( 8 )
harness: 01234-6----- filtering data from fd 4 (kid's stdout)
harness: 01234-6----- reading from fd 4 (kid's stdout)
harness: 01234-6----- read( 4 ) = 'world
harness: 01234-6----- '
harness: 01234-6----- filtering data from fd 6 (kid's stderr)
harness: 01234-6----- reading from fd 6 (kid's stderr)
harness: 01234-6----- read( 6 ) = 'WORLD
harness: 01234-6----- '
harness: 01234-6----- ** finishing
harness: 01234-6----- checking fd 3 (kid's stdin)
harness: 01234-6----- writing to fd 3 (kid's stdin)
harness: 01234-6----- write( 3, 'quit
harness: 01234-6----- ' ) = 5
harness: 01234-6----- closing fd 3 (kid's stdin)
harness: 01234-6----- selecting ----r-r----- with timeout=forever
harness: 01234-6----- selected ----r-r-----
harness: 01234-6----- filtering data from fd 4 (kid's stdout)
harness: 01234-6----- reading from fd 4 (kid's stdout)
harness: 01234-6----- read( 4 ) = 'quit
harness: 01234-6----- '
harness: 01234-6----- filtering data from fd 6 (kid's stderr)
harness: 01234-6----- reading from fd 6 (kid's stderr)
harness: 01234-6----- read( 6 ) = 'QUIT
harness: 01234-6----- '
harness: 01234-6----- selecting ----r-r----- with timeout=forever
harness: 01234-6----- selected ----r-r-----
harness: 01234-6----- filtering data from fd 4 (kid's stdout)
harness: 01234-6----- reading from fd 4 (kid's stdout)
harness: 01234-6----- read( 4 ) = ''
harness: 01234-6----- closing fd 4 (kid's stdout)
harness: 0123--6----- close( 4 )
harness: 0123--6----- filtering data from fd 6 (kid's stderr)
harness: 0123--6----- reading from fd 6 (kid's stderr)
harness: 0123--6----- read( 6 ) = ''
harness: 0123--6----- closing fd 6 (kid's stderr)
harness: 0123-------- close( 6 )
harness: 0123-------- cleaning up
harness: 012--------- reaping child 0 (pid 7593)
harness: 012--------- reaped 7593, $?=0
harness: 012--------- ** harnessing
harness: 012--------- parsing [ 'perl', '-e', '$| = 1 ;
harness: 012--------- $s = select STDOUT ; $| = 1 ; select $s ;
harness: 012--------- while (<>) {
harness: 012--------- print ;
harness: 012--------- print STDERR uc $_ ;
harness: 012--------- last if /quit/ ;
harness: 012--------- }
harness: 012--------- ' ]
harness: 012--------- parsing SCALAR
harness: 012--------- assuming '0<'
harness: 012--------- parsing '>pty>'
harness: 012--------- ** starting
harness: 012--------- opening pty '0'
harness: 0123-------- pty() = 3
harness: 0123-------- 'perl' found in cache: '/usr/local/bin/perl'
harness: 0123-------- kid 1 to read 0 from SCALAR
harness: 012345------ pipe() = ( 4, 5 )
harness: 012345------ kid 1 to write 1 to SCALAR via pty '0'
harness: 012345------ creating debug pipe
harness: 01234567---- pipe() = ( 6, 7 )
harness: 01234567---- kid 0[]'s 7 is my 6
harness: 01234567---- kid 0[]'s 0 is my 5
harness: 01234567---- kid 0[]'s 1 is my 3
harness: 01234567---- fork() = 7594
harness: 0123456----- close( 7 )
harness: 0123-56----- close( 4 )
harness: 0123-56----- ** pumping
harness: 0123-56----- selecting ---r-wr----- with timeout=forever
harness: 0123-56----- selected ---r-wr-----
harness: 0123-56----- filtering data to fd 5 (kid's stdin)
harness: 0123-56----- writing to fd 5 (kid's stdin)
harness: 0123-56----- write( 5, 'hello
harness: 0123-56----- ' ) = 6
harness: 0123-56----- ** pumping
harness: 0123-56----- selecting ---r-wr----- with timeout=forever
harness: 0123-56----- selected ---r-wr-----
harness[7594]: 01234567---- Cleaning up parent's ptty '0'
harness[7594]: 012-45678--- closing stdin, out, err
harness[7594]: ----45-78--- close( 6 )
harness[7594]: ----4--78--- close( 5 )
harness[7594]: 0---4--78--- dup2( 4, 0 ) = 0
harness[7594]: 01--4--78--- dup2( 8, 1 ) = 1
harness[7594]: 012-4--78--- dup2( 1, 2 ) = 2
harness[7594]: 012----78--- close( 4 )
harness[7594]: 012----7---- close( 8 )
harness[7594]: 012----7---- execing /usr/local/bin/perl
harness: 0123-56----- selecting ---r-wr----- with timeout=forever
harness: 0123-56----- selected ---r-wr-----
harness: 0123-56----- closing debug (6) (kid's fd 7)
harness: 0123-5------ close( 6 )
harness: 0123-5------ selecting ---r-w------ with timeout=forever
harness: 0123-5------ selected ---r-w------
harness: 0123-5------ filtering data to fd 5 (kid's stdin)
harness: 0123-5------ pausing fd 5 (kid's stdin)
harness: 0123-5------ filtering data from fd 3 (kid's stdout)
harness: 0123-5------ reading from fd 3 (kid's stdout)
harness: 0123-5------ read( 3 ) = 'hello
harness: 0123-5------ HELLO
harness: 0123-5------ '
harness: 0123-5------ ** pumping
harness: 0123-5------ checking fd 5 (kid's stdin)
harness: 0123-5------ writing to fd 5 (kid's stdin)
harness: 0123-5------ write( 5, 'world
harness: 0123-5------ ' ) = 6
harness: 0123-5------ pausing fd 5 (kid's stdin)
harness: 0123-5------ selecting ---r-p------ with timeout=forever
harness: 0123-5------ selected ---r-p------
harness: 0123-5------ filtering data from fd 3 (kid's stdout)
harness: 0123-5------ reading from fd 3 (kid's stdout)
harness: 0123-5------ read( 3 ) = 'world
harness: 0123-5------ WORLD
harness: 0123-5------ '
harness: 0123-5------ ** finishing
harness: 0123-5------ checking fd 5 (kid's stdin)
harness: 0123-5------ writing to fd 5 (kid's stdin)
harness: 0123-5------ write( 5, 'quit
harness: 0123-5------ ' ) = 5
harness: 0123-5------ closing fd 5 (kid's stdin)
harness: 0123-------- close( 5 )
harness: 0123-------- selecting ---r-------- with timeout=forever
harness: 0123-------- selected ---r--------
harness: 0123-------- filtering data from fd 3 (kid's stdout)
harness: 0123-------- reading from fd 3 (kid's stdout)
harness: 0123-------- read( 3 ) = 'quit
harness: 0123-------- QUIT
harness: 0123-------- '
harness: 0123-------- selecting ---r-------- with timeout=forever
harness: 0123-------- selected ---r--------
harness: 0123-------- filtering data from fd 3 (kid's stdout)
harness: 0123-------- reading from fd 3 (kid's stdout)
harness: 0123-------- closing fd 3 (kid's stdout)
harness: 0123-------- closing pty fd 3 (kid's stdout)
harness: 012--------- cleaning up
harness: 012--------- reaping child 0 (pid 7594)
harness: 012--------- reaped 7594, $?=0
harness: 012--------- ** harnessing
harness: 012--------- parsing [ 'perl', '-e', '$| = 1 ;
harness: 012--------- $s = select STDOUT ; $| = 1 ; select $s ;
harness: 012--------- while (<>) {
harness: 012--------- print ;
harness: 012--------- print STDERR uc $_ ;
harness: 012--------- last if /quit/ ;
harness: 012--------- }
harness: 012--------- ' ]
harness: 012--------- parsing SCALAR
harness: 012--------- assuming '0<'
harness: 012--------- parsing '>pty>'
harness: 012--------- parsing '2>'
harness: 012--------- ** starting
harness: 012--------- opening pty '0'
harness: 0123-------- pty() = 3
harness: 0123-------- 'perl' found in cache: '/usr/local/bin/perl'
harness: 0123-------- kid 1 to read 0 from SCALAR
harness: 012345------ pipe() = ( 4, 5 )
harness: 012345------ kid 1 to write 1 to SCALAR via pty '0'
harness: 012345------ kid 1 to write 2 to SCALAR
harness: 01234567---- pipe() = ( 6, 7 )
harness: 01234567---- creating debug pipe
harness: 0123456789-- pipe() = ( 8, 9 )
harness: 0123456789-- kid 0[]'s 9 is my 8
harness: 0123456789-- kid 0[]'s 0 is my 5
harness: 0123456789-- kid 0[]'s 1 is my 3
harness: 0123456789-- kid 0[]'s 2 is my 6
harness: 0123456789-- fork() = 7595
harness: 012345678--- close( 9 )
harness: 0123-5678--- close( 4 )
harness: 0123-56-8--- close( 7 )
harness: 0123-56-8--- ** pumping
harness: 0123-56-8--- selecting ---r-wr-r--- with timeout=forever
harness: 0123-56-8--- selected ---r-wr-r---
harness[7595]: 0123456789-- Cleaning up parent's ptty '0'
harness[7595]: 012-4567890- closing stdin, out, err
harness[7595]: ----4567-90- close( 8 )
harness[7595]: ----4-67-90- close( 5 )
harness[7595]: ----4--7-90- close( 6 )
harness[7595]: 0---4--7-90- dup2( 4, 0 ) = 0
harness[7595]: 01--4--7-90- dup2( 10, 1 ) = 1
harness[7595]: 012-4--7-90- dup2( 1, 2 ) = 2
harness[7595]: 012-4--7-90- dup2( 7, 2 ) = 2
harness[7595]: 012----7-90- close( 4 )
harness[7595]: 012----7-9-- close( 10 )
harness[7595]: 012------9-- close( 7 )
harness[7595]: 012------9-- execing /usr/local/bin/perl
harness: 0123-56-8--- filtering data to fd 5 (kid's stdin)
harness: 0123-56-8--- writing to fd 5 (kid's stdin)
harness: 0123-56-8--- write( 5, 'hello
harness: 0123-56-8--- ' ) = 6
harness: 0123-56-8--- ** pumping
harness: 0123-56-8--- selecting ---r-wr-r--- with timeout=forever
harness: 0123-56-8--- selected ---r-wr-r---
harness: 0123-56-8--- closing debug (8) (kid's fd 9)
harness: 0123-56----- close( 8 )
harness: 0123-56----- selecting ---r-wr----- with timeout=forever
harness: 0123-56----- selected ---r-wr-----
harness: 0123-56----- filtering data to fd 5 (kid's stdin)
harness: 0123-56----- pausing fd 5 (kid's stdin)
harness: 0123-56----- filtering data from fd 3 (kid's stdout)
harness: 0123-56----- reading from fd 3 (kid's stdout)
harness: 0123-56----- read( 3 ) = 'hello
harness: 0123-56----- '
harness: 0123-56----- filtering data from fd 6 (kid's stderr)
harness: 0123-56----- reading from fd 6 (kid's stderr)
harness: 0123-56----- read( 6 ) = 'HELLO
harness: 0123-56----- '
harness: 0123-56----- ** pumping
harness: 0123-56----- checking fd 5 (kid's stdin)
harness: 0123-56----- writing to fd 5 (kid's stdin)
harness: 0123-56----- write( 5, 'world
harness: 0123-56----- ' ) = 6
harness: 0123-56----- pausing fd 5 (kid's stdin)
harness: 0123-56----- selecting ---r-pr----- with timeout=forever
harness: 0123-56----- selected ---r-pr-----
harness: 0123-56----- filtering data from fd 3 (kid's stdout)
harness: 0123-56----- reading from fd 3 (kid's stdout)
harness: 0123-56----- read( 3 ) = 'world
harness: 0123-56----- '
harness: 0123-56----- filtering data from fd 6 (kid's stderr)
harness: 0123-56----- reading from fd 6 (kid's stderr)
harness: 0123-56----- read( 6 ) = 'WORLD
harness: 0123-56----- '
harness: 0123-56----- ** finishing
harness: 0123-56----- checking fd 5 (kid's stdin)
harness: 0123-56----- writing to fd 5 (kid's stdin)
harness: 0123-56----- write( 5, 'quit
harness: 0123-56----- ' ) = 5
harness: 0123-56----- closing fd 5 (kid's stdin)
harness: 0123--6----- close( 5 )
harness: 0123--6----- selecting ---r--r----- with timeout=forever
harness: 0123--6----- selected ---r--r-----
harness: 0123--6----- filtering data from fd 3 (kid's stdout)
harness: 0123--6----- reading from fd 3 (kid's stdout)
harness: 0123--6----- read( 3 ) = 'quit
harness: 0123--6----- '
harness: 0123--6----- filtering data from fd 6 (kid's stderr)
harness: 0123--6----- reading from fd 6 (kid's stderr)
harness: 0123--6----- read( 6 ) = 'QUIT
harness: 0123--6----- '
harness: 0123--6----- selecting ---r--r----- with timeout=forever
harness: 0123--6----- selected ---r--r-----
harness: 0123--6----- filtering data from fd 3 (kid's stdout)
harness: 0123--6----- reading from fd 3 (kid's stdout)
harness: 0123--6----- closing fd 3 (kid's stdout)
harness: 0123--6----- closing pty fd 3 (kid's stdout)
harness: 012---6----- filtering data from fd 6 (kid's stderr)
harness: 012---6----- reading from fd 6 (kid's stderr)
harness: 012---6----- read( 6 ) = ''
harness: 012---6----- closing fd 6 (kid's stderr)
harness: 012--------- close( 6 )
harness: 012--------- cleaning up
harness: 012--------- reaping child 0 (pid 7595)
harness: 012--------- reaped 7595, $?=0
harness: 012--------- ** harnessing
harness: 012--------- parsing [ 'perl', '-e', '$| = 1 ;
harness: 012--------- $s = select STDOUT ; $| = 1 ; select $s ;
harness: 012--------- while (<>) {
harness: 012--------- print ;
harness: 012--------- print STDERR uc $_ ;
harness: 012--------- last if /quit/ ;
harness: 012--------- }
harness: 012--------- ' ]
harness: 012--------- parsing '<pty<'
harness: 012--------- parsing '>pty>'
harness: 012--------- ** starting
harness: 012--------- opening pty '0'
harness: 0123-------- pty() = 3
harness: 0123-------- 'perl' found in cache: '/usr/local/bin/perl'
harness: 0123-------- kid to read 0 from pty '0'
harness: 0123-------- kid 1 to read 0 from SCALAR via pty '0'
harness: 0123-------- kid 1 to write 1 to SCALAR via pty '0'
harness: 0123-------- creating debug pipe
harness: 012345------ pipe() = ( 4, 5 )
harness: 012345------ kid 0[]'s 5 is my 4
harness: 012345------ kid 0[]'s 0 is my 3
harness: 012345------ kid 0[]'s 1 is my 3
harness: 012345------ fork() = 7596
harness: 01234------- close( 5 )
harness: 01234------- ** pumping
harness: 01234------- selecting ---br------- with timeout=forever
harness: 01234------- selected ---br-------
harness[7596]: 012345------ Cleaning up parent's ptty '0'
harness[7596]: 012-456----- closing stdin, out, err
harness[7596]: -----56----- close( 4 )
harness[7596]: 0----56----- dup2( 6, 0 ) = 0
harness[7596]: 01---56----- dup2( 6, 1 ) = 1
harness[7596]: 012--56----- dup2( 1, 2 ) = 2
harness[7596]: 012--5------ close( 6 )
harness[7596]: 012--5------ execing /usr/local/bin/perl
harness: 01234------- filtering data to fd 3 (kid's stdin)
harness: 01234------- writing to fd 3 (kid's stdin)
harness: 01234------- write( 3, 'hello
harness: 01234------- ' ) = 6
harness: 01234------- ** pumping
harness: 01234------- selecting ---br------- with timeout=forever
harness: 01234------- selected ---br-------
harness: 01234------- closing debug (4) (kid's fd 5)
harness: 0123-------- close( 4 )
harness: 0123-------- filtering data to fd 3 (kid's stdin)
harness: 0123-------- pausing fd 3 (kid's stdin)
harness: 0123-------- filtering data from fd 3 (kid's stdout)
harness: 0123-------- reading from fd 3 (kid's stdout)
harness: 0123-------- read( 3 ) = 'hello
harness: 0123-------- hello
harness: 0123-------- HELLO
harness: 0123-------- '
harness: 0123-------- ** pumping
harness: 0123-------- checking fd 3 (kid's stdin)
harness: 0123-------- writing to fd 3 (kid's stdin)
harness: 0123-------- write( 3, 'world
harness: 0123-------- ' ) = 6
harness: 0123-------- pausing fd 3 (kid's stdin)
harness: 0123-------- selecting ---r-------- with timeout=forever
harness: 0123-------- selected ---r--------
harness: 0123-------- filtering data from fd 3 (kid's stdout)
harness: 0123-------- reading from fd 3 (kid's stdout)
harness: 0123-------- read( 3 ) = 'world
harness: 0123-------- world
harness: 0123-------- WORLD
harness: 0123-------- '
harness: 0123-------- ** finishing
harness: 0123-------- checking fd 3 (kid's stdin)
harness: 0123-------- writing to fd 3 (kid's stdin)
harness: 0123-------- write( 3, 'quit
harness: 0123-------- ' ) = 5
harness: 0123-------- closing fd 3 (kid's stdin)
harness: 0123-------- selecting ---r-------- with timeout=forever
harness: 0123-------- selected ---r--------
harness: 0123-------- filtering data from fd 3 (kid's stdout)
harness: 0123-------- reading from fd 3 (kid's stdout)
harness: 0123-------- read( 3 ) = 'quit
harness: 0123-------- quit
harness: 0123-------- QUIT
harness: 0123-------- '
harness: 0123-------- selecting ---r-------- with timeout=forever
harness: 0123-------- selected ---r--------
harness: 0123-------- filtering data from fd 3 (kid's stdout)
harness: 0123-------- reading from fd 3 (kid's stdout)
harness: 0123-------- closing fd 3 (kid's stdout)
harness: 0123-------- closing pty fd 3 (kid's stdout)
harness: 012--------- cleaning up
harness: 012--------- reaping child 0 (pid 7596)
harness: 012--------- reaped 7596, $?=0
>
>Thanks,
>
>Barrie
--
--
Paul Schinder
[EMAIL PROTECTED]