+ errorHandler = throwTo mainThreadId :: SessionException -> IO()
+ serverLauncher = forkIO $ catch (serverHandler serverOut context) errorHandler
+ serverFinalizer tid = finally (timeout 60000000 (runSession' exitServer))
+ (killThread tid)
+
+ (result, _) <- bracket serverLauncher serverFinalizer (const $ runSession' session)