Что-то я забыл как устроено детектирование дедлоков в этом моём stm'е. Есть где статья про то как оно реализовано в GHC?
2017-09-10 22:36:12

Участники:
@qnikst - 3, @rkit - 2, @ndtimofeev - 1

@rkit
Транзакциями. Если ресурс занят, то вся транзакция рестартует.
#2882919/1 2017-09-11 04:11:19
@qnikst
так же как и мвар - если ни один не заблокированный тред не содержит референсов на TVar которые читал ты
#2882919/2 2017-09-11 05:10:18
@qnikst
статьи очевидно первые по STM от Семёнов, тебе их найти?
#2882919/3 → /2 2017-09-11 05:10:43
@ndtimofeev
Это понятно. Как устроен подсчёт ссылок я понимаю. Я не понимаю как определить что тот или иной тред вообще содержит ссылки на тот или иной TVar.
#2882919/4 → /2 2017-09-11 05:45:03
@rkit
Монада STM считает.
#2882919/5 → /4 2017-09-11 05:46:10
@qnikst
те, что читали - пишутся в лог TVar-а, как ссылки на TVar точно не знаю, но тот же алгоритм, что и для TMVar
#2882919/6 → /4 2017-09-11 06:14:18