wip, hunting busyloop

This commit is contained in:
voidlizard 2025-03-13 18:41:29 +03:00
parent 541ecccd0b
commit 78c168fcaa
2 changed files with 3 additions and 8 deletions

View File

@ -392,10 +392,10 @@ runMessagingTCP env@MessagingTCP{..} = liftIO do
-- client sockets
-- смотрим к кому надо
who <- atomically do
who <- atomically $ fix \next -> do
who <- readTQueue _tcpConnDemand
already <- readTVar _tcpPeerConn <&> HM.member who
if not already then pure who else STM.retry
if not already then pure who else next
debug $ "DEMAND:" <+> pretty who

View File

@ -287,15 +287,13 @@ runMessagingUnix env = do
sock <- ContT $ bracket openSock closeSock
sockReady <- newTVarIO False
void $ ContT $ bracket (createQueues env who) dropQueuesFor
let attemptConnect = do
result <- liftIO $ try $ connect sock $ SockAddrUnix (msgUnixSockPath env)
case result of
Right _ -> do
atomically $ writeTVar sockReady True
none
Left (e :: SomeException) -> do
warn $ "MessagingUnix. failed to connect" <+> pretty sa <+> viaShow e
@ -308,9 +306,6 @@ runMessagingUnix env = do
forever do
atomically do
readTVar sockReady `orElse` retry
-- Мы клиент. Шлём кому? **ЕМУ**, на том конце трубы.
-- У нас один контрагент, имя сокета (файла) == адрес пира.
-- Как в TCP порт сервиса (а отвечает тот с другого порта)