- $conn->{sock} = new IO::File;
- if ($conn->{sock}) {
- my $outfd = fileno($conn->{sock});
- my $out = new IO::File ">&$outfd";
- if ($conn->{pid} = open2($conn->{sock}, $out, $line)) {
- $conn->{csort} = $sort;
- $conn->{lineend} = "\cM" if $sort eq 'ax25';
- dbg('connect', "started $line");
- } else {
- dbg('connect', "can't start $line $!");
- }
+ my $sock = new IO::Socket::INET;
+ local *H;
+ my $wrt = \*H;
+
+ if ($conn->{pid} = open3("<&$sock", ">&$sock", '', $line)) {
+ $conn->{sock} = $sock;
+ $conn->{csort} = $sort;
+ $conn->{lineend} = "\cM" if $sort eq 'ax25';
+ dbg('connect', "started pid: $conn->{pid} as $line");