]> git.proxmox.com Git - pve-client.git/blobdiff - PVE/APIClient/Commands/lxc.pm
lxc enter: cleanup filehandle usage
[pve-client.git] / PVE / APIClient / Commands / lxc.pm
index 620e4b1ca23bf93050526ffcc956488d8107e53c..650b6b5273e9cdf8cfa9f052afa5659a2aebf090 100644 (file)
@@ -260,10 +260,10 @@ __PACKAGE__->register_method ({
            STDIN->blocking(0);
            $web_socket->blocking(1);
            $read_select->add($web_socket);
            STDIN->blocking(0);
            $web_socket->blocking(1);
            $read_select->add($web_socket);
-           my $input_fh = fileno(STDIN);
+           my $input_fh = \*STDIN;
            $read_select->add($input_fh);
 
            $read_select->add($input_fh);
 
-           my $output_fh = fileno(STDOUT);
+           my $output_fh = \*STDOUT;
 
            my $ctrl_a_pressed_before = 0;
 
 
            my $ctrl_a_pressed_before = 0;
 
@@ -304,7 +304,7 @@ __PACKAGE__->register_method ({
 
                    foreach my $fh (@$writable) {
                        if ($fh == $output_fh) {
 
                    foreach my $fh (@$writable) {
                        if ($fh == $output_fh) {
-                           $drain_buffer->(\*STDOUT, \$output_buffer);
+                           $drain_buffer->($output_fh, \$output_buffer);
                            $read_select->add($web_socket) if length($output_buffer) <= $max_buffer_len;
                        } elsif ($fh == $web_socket) {
                            $drain_buffer->($web_socket, \$websock_buffer);
                            $read_select->add($web_socket) if length($output_buffer) <= $max_buffer_len;
                        } elsif ($fh == $web_socket) {
                            $drain_buffer->($web_socket, \$websock_buffer);
@@ -336,7 +336,7 @@ __PACKAGE__->register_method ({
                        } elsif ($fh == $input_fh) {
                            # Read from STDIN
 
                        } elsif ($fh == $input_fh) {
                            # Read from STDIN
 
-                           my $nr = read(\*STDIN, my $buff, 4096);
+                           my $nr = sysread($input_fh, my $buff, 4096);
                            return if !$nr; # EOF or error
 
                            my $char = ord($buff);
                            return if !$nr; # EOF or error
 
                            my $char = ord($buff);