diff options
Diffstat (limited to 'Role/Developer.hs')
-rw-r--r-- | Role/Developer.hs | 22 |
1 files changed, 9 insertions, 13 deletions
diff --git a/Role/Developer.hs b/Role/Developer.hs index 6763e1a..d3fc11c 100644 --- a/Role/Developer.hs +++ b/Role/Developer.hs @@ -401,18 +401,6 @@ processSessionStart sk ochan logger dsv = do else error "Badly signed session initialization message" _ -> error $ "Unexpected session initialization message: " ++ show sessionmsg ts <- getPOSIXTime - st <- newTVarIO $ DeveloperState - { lastSeen = hash () - , sentSince = mempty - , enteredSince = mempty - , lastActivity = hash () - , lastActivityTs = ts - , fromOtherDevelopersSince = mempty - , developerSessionKey = sk - , userSigVerifier = sigverifier - , developerSigVerifier = mempty - } - atomically $ putTMVar dsv st MissingHashes startmsg <- fromMaybe (error "Did not get session startup message") <$> atomically (readTMChan ochan) logger startmsg @@ -423,8 +411,16 @@ processSessionStart sk ochan logger dsv = do | otherwise -> error "Bad signature on startup message" _ -> error $ "Unexpected startup message: " ++ show startmsg - atomically $ modifyTVar' st $ \ds -> ds + st <- newTVarIO $ DeveloperState { lastSeen = starthash + , sentSince = mempty + , enteredSince = mempty , lastActivity = starthash + , lastActivityTs = ts + , fromOtherDevelopersSince = mempty + , developerSessionKey = sk + , userSigVerifier = sigverifier + , developerSigVerifier = mempty } + atomically $ putTMVar dsv st return (st, output) |