]> git.proxmox.com Git - pve-manager.git/commitdiff
websocket_proxy: correctly close connection
authorDietmar Maurer <dietmar@proxmox.com>
Fri, 2 Jan 2015 08:20:09 +0000 (09:20 +0100)
committerDietmar Maurer <dietmar@proxmox.com>
Fri, 2 Jan 2015 08:20:09 +0000 (09:20 +0100)
PVE/HTTPServer.pm

index 3ec5d1d84355e8677d1ca67f68c44bd5b712d71c..6395bdd9aa08d3fe07818f750ed4ce37d8ca54d6 100755 (executable)
@@ -530,8 +530,12 @@ sub websocket_proxy {
                if ($opcode == 1 || $opcode == 2) {
                    $reqstate->{proxyhdl}->push_write($payload) if $reqstate->{proxyhdl};
                } elsif ($opcode == 8) {
-                   # ignore close ?
                    print "websocket received close\n" if $self->{debug};
+                   if ($reqstate->{proxyhdl}) {
+                       $reqstate->{proxyhdl}->push_write($payload);
+                       $reqstate->{proxyhdl}->push_shutdown();
+                   }
+                   $hdl->push_shutdown();
                } else {
                    die "received unhandled websocket opcode $opcode\n";
                }