diff --git a/src/Network/XMPP/Concurrent/Monad.hs b/src/Network/XMPP/Concurrent/Monad.hs index 7cd3d40..4ec4c78 100644 --- a/src/Network/XMPP/Concurrent/Monad.hs +++ b/src/Network/XMPP/Concurrent/Monad.hs @@ -175,7 +175,7 @@ sendMessage = sendS . MessageS modifyHandlers :: (EventHandlers -> EventHandlers) -> XMPPThread () modifyHandlers f = do eh <- asks eventHandlers - liftIO . atomically $ modifyTVar eh f + liftIO . atomically $ writeTVar eh . f =<< readTVar eh setSessionEndHandler :: XMPPThread () -> XMPPThread () setSessionEndHandler eh = modifyHandlers (\s -> s{sessionEndHandler = eh})