@@ -119,9 +119,8 @@ intMkVty input out = do
120 shutdownVar <- atomically $ newTVar False
120 shutdownVar <- atomically $ newTVar False
121 let shutdownIo = do
121 let shutdownIo = do
122− alreadyShutdown <- atomically $ readTVar shutdownVar
122+ alreadyShutdown <- atomically $ swapTVar shutdownVar True
123 when (not alreadyShutdown) $ do
123 when (not alreadyShutdown) $ do
124− atomically $ writeTVar shutdownVar True
125 shutdownInput input
124 shutdownInput input
126 releaseDisplay out
125 releaseDisplay out
127 releaseTerminal out
126 releaseTerminal out