Commit 368e890
committed
Try to squash a lot of threading bugs in Game:
- Make players and roundPlayers be sychronizedLists. Remove all synchronizations on those except while iterating. (Just to reduce code clutter, since the lists still do the same thing internally).
- Rework some other code to reduce locking complexity.
- In skipIdleJudge, apparently getJudge() can return null. I have seen an exception because of this, so I make it check for that. Not entirely sure how that would happen in the first place.
- DEADLOCK FIX: Move getPlayerForUser() call outside of synchronized (playedCards) block in getWhiteCards().1 parent ca226ef commit 368e890
1 file changed
Lines changed: 142 additions & 141 deletions
0 commit comments