From f6dc9b04416b36e6e0e3fc40a5ce05405937d0c9 Mon Sep 17 00:00:00 2001 From: joe Date: Sun, 29 Oct 2017 01:28:17 -0400 Subject: Fixed premature deletion of pending cookie key. --- src/Network/Tox/DHT/Handlers.hs | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) (limited to 'src') diff --git a/src/Network/Tox/DHT/Handlers.hs b/src/Network/Tox/DHT/Handlers.hs index 60c0500c..6bbcfb43 100644 --- a/src/Network/Tox/DHT/Handlers.hs +++ b/src/Network/Tox/DHT/Handlers.hs @@ -264,9 +264,7 @@ cookieRequest crypto client localUserKey addr = do return mp let cookieSerializer = MethodSerializer - { methodTimeout = \tid addr -> do - modifyTVar (pendingCookies crypto) decAddr - return (addr, 5000000) + { methodTimeout = \tid addr -> return (addr, 5000000) , method = CookieRequestType , wrapQuery = \tid src dst cr -> DHTCookieRequest $ wrapAsymm tid src dst (, cr) , unwrapResponse = fmap snd . unCookie @@ -274,6 +272,7 @@ cookieRequest crypto client localUserKey addr = do cookieRequest = CookieRequest localUserKey hPutStrLn stderr $ show addr ++ " <-- cookieRequest" reply <- QR.sendQuery client cookieSerializer cookieRequest addr + atomically $ modifyTVar (pendingCookies crypto) decAddr hPutStrLn stderr $ show addr ++ " -cookieResponse-> " ++ show reply return $ join reply -- cgit v1.2.3