mirror of https://github.com/voidlizard/hbs2
wip, tracking busyloop
This commit is contained in:
parent
78c168fcaa
commit
242d3d849d
|
@ -287,13 +287,15 @@ runMessagingUnix env = do
|
||||||
|
|
||||||
sock <- ContT $ bracket openSock closeSock
|
sock <- ContT $ bracket openSock closeSock
|
||||||
|
|
||||||
|
sockReady <- newTVarIO False
|
||||||
|
|
||||||
void $ ContT $ bracket (createQueues env who) dropQueuesFor
|
void $ ContT $ bracket (createQueues env who) dropQueuesFor
|
||||||
|
|
||||||
let attemptConnect = do
|
let attemptConnect = do
|
||||||
result <- liftIO $ try $ connect sock $ SockAddrUnix (msgUnixSockPath env)
|
result <- liftIO $ try $ connect sock $ SockAddrUnix (msgUnixSockPath env)
|
||||||
case result of
|
case result of
|
||||||
Right _ -> do
|
Right _ -> do
|
||||||
none
|
atomically $ writeTVar sockReady True
|
||||||
|
|
||||||
Left (e :: SomeException) -> do
|
Left (e :: SomeException) -> do
|
||||||
warn $ "MessagingUnix. failed to connect" <+> pretty sa <+> viaShow e
|
warn $ "MessagingUnix. failed to connect" <+> pretty sa <+> viaShow e
|
||||||
|
@ -306,6 +308,9 @@ runMessagingUnix env = do
|
||||||
|
|
||||||
forever do
|
forever do
|
||||||
|
|
||||||
|
atomically do
|
||||||
|
readTVar sockReady `orElse` retry
|
||||||
|
|
||||||
-- Мы клиент. Шлём кому? **ЕМУ**, на том конце трубы.
|
-- Мы клиент. Шлём кому? **ЕМУ**, на том конце трубы.
|
||||||
-- У нас один контрагент, имя сокета (файла) == адрес пира.
|
-- У нас один контрагент, имя сокета (файла) == адрес пира.
|
||||||
-- Как в TCP порт сервиса (а отвечает тот с другого порта)
|
-- Как в TCP порт сервиса (а отвечает тот с другого порта)
|
||||||
|
|
Loading…
Reference in New Issue