поступить в данной ситуации. Есть два процесса reader и writer для tcp соединения, оба GenServer`ы. Reader запускает Writer через start_link. В случае сбоя понятно, что выйдут оба. Но в случае нормального завершения Reader`а как мне правильно отключить Writer? Link не сработает в данном случае, потому что причина normal. Супервизор с автоотключением неплохо, но мне нужно прокинуть пид writer`а в reader. Писать выключение ребенка в terminate/2 родителя, тоже кажется не лучшим решением.
На надо делать так чтобы один процесс запускал другой, когда у них лайфтаймы связаны. Запускай под супервизором сразу два процесса и пусть они друг с другом взаимодействуют, а при завершении выключают супервизор
Обсуждают сегодня