diff options
author | Facundo DomÃnguez <facundo.dominguez@tweag.io> | 2021-04-02 17:11:07 +0000 |
---|---|---|
committer | Zubin Duggal <zubin.duggal@gmail.com> | 2021-09-21 22:28:27 +0530 |
commit | 030f3c45c1c6e07b6e99a0072afd96131325766d (patch) | |
tree | de7f5bc4972d092fe564f6e354a3ca3c4d64a479 | |
parent | 39ad330caae9f05a5bf07f2134aa58d1f4ed4739 (diff) | |
download | haskell-030f3c45c1c6e07b6e99a0072afd96131325766d.tar.gz |
Report actual port in libiserv:Remote.Slave.startSlave
This allows to start iserv by passing port 0 to startSlave,
which in turns allows to get an available port when no
port is known to be free a priori.
(cherry picked from commit b39dec86df8106a2bb4770758941572073ad57a2)
(cherry picked from commit 80e6fd527e60028ecc4f7724f2b9c8705bfd9175)
-rw-r--r-- | libraries/libiserv/src/Remote/Slave.hs | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/libraries/libiserv/src/Remote/Slave.hs b/libraries/libiserv/src/Remote/Slave.hs index 577161f35f..4c150becfa 100644 --- a/libraries/libiserv/src/Remote/Slave.hs +++ b/libraries/libiserv/src/Remote/Slave.hs @@ -62,11 +62,12 @@ startSlave' verbose base_path port = do hSetBuffering stdout LineBuffering sock <- openSocket port + actualPort <- socketPort sock + putStrLn $ "Listening on port " ++ show actualPort forever $ do when verbose $ trace "Opening socket" pipe <- acceptSocket sock >>= socketToPipe - putStrLn $ "Listening on port " ++ show port when verbose $ trace "Starting serv" uninterruptibleMask $ serv verbose (hook verbose base_path pipe) pipe when verbose $ trace "serv ended" |