File tree Expand file tree Collapse file tree 1 file changed +11
-6
lines changed
io-sim/src/Control/Monad/IOSimPOR Expand file tree Collapse file tree 1 file changed +11
-6
lines changed Original file line number Diff line number Diff line change @@ -1387,12 +1387,17 @@ noRaces = Races [] []
1387
1387
1388
1388
updateRacesInSimState :: Thread s a -> SimState s a -> Races
1389
1389
updateRacesInSimState thread SimState { control, threads, races } =
1390
- traceRaces $
1391
- updateRaces (currentStep thread)
1392
- (threadBlocked thread)
1393
- control
1394
- (Map. keysSet (Map. filter (not . threadDone) threads))
1395
- races
1390
+ traceRaces $
1391
+ updateRaces step
1392
+ (threadBlocked thread)
1393
+ control
1394
+ (Map. keysSet (Map. filter (\ t -> not (threadDone t)
1395
+ && threadId t `Set.notMember`
1396
+ effectForks (stepEffect step)
1397
+ ) threads))
1398
+ races
1399
+ where
1400
+ step = currentStep thread
1396
1401
1397
1402
-- | 'updateRaces' turns a current 'Step' into 'StepInfo', and updates all
1398
1403
-- 'activeRaces'.
You can’t perform that action at this time.
0 commit comments