close proxy remote side when done with it

This commit is contained in:
Joey Hess 2024-07-26 13:57:28 -04:00
parent b028b1a379
commit 5ebbb31b36
No known key found for this signature in database
GPG key ID: DB12DB0FF05F8F38

View file

@ -346,8 +346,6 @@ proxyConnection relv connparams workerpool proxyconn = do
inAnnexWorker' workerpool $ do inAnnexWorker' workerpool $ do
proxystate <- liftIO Proxy.mkProxyState proxystate <- liftIO Proxy.mkProxyState
concurrencyconfig <- Proxy.noConcurrencyConfig concurrencyconfig <- Proxy.noConcurrencyConfig
let protocolversion = min remoteprotocolversion $
connectionProtocolVersion connparams
let proxyparams = Proxy.ProxyParams let proxyparams = Proxy.ProxyParams
{ Proxy.proxyMethods = mkProxyMethods { Proxy.proxyMethods = mkProxyMethods
, Proxy.proxyState = proxystate , Proxy.proxyState = proxystate
@ -357,7 +355,7 @@ proxyConnection relv connparams workerpool proxyconn = do
, Proxy.proxySelector = Proxy.singleProxySelector $ , Proxy.proxySelector = Proxy.singleProxySelector $
proxyConnectionRemoteSide proxyconn proxyConnectionRemoteSide proxyconn
, Proxy.proxyConcurrencyConfig = concurrencyconfig , Proxy.proxyConcurrencyConfig = concurrencyconfig
, Proxy.proxyClientProtocolVersion = protocolversion , Proxy.proxyClientProtocolVersion = connectionProtocolVersion connparams
} }
let proxy mrequestmessage = case mrequestmessage of let proxy mrequestmessage = case mrequestmessage of
Just requestmessage -> do Just requestmessage -> do
@ -386,9 +384,11 @@ proxyConnection relv connparams workerpool proxyconn = do
-- connection -- connection
Left err -> do Left err -> do
liftIO $ hPutStrLn stderr ("protoerrhandler: " ++ show err) liftIO $ hPutStrLn stderr ("protoerrhandler: " ++ show err)
Proxy.closeRemoteSide $ proxyConnectionRemoteSide proxyconn
return () return ()
Right v -> do Right v -> do
liftIO $ print "protoerrhandler returned" liftIO $ print "protoerrhandler returned"
Proxy.closeRemoteSide $ proxyConnectionRemoteSide proxyconn
cont v cont v
proxydone = return () proxydone = return ()
requestcomplete () = return () requestcomplete () = return ()