Как исключение предоставляется в параллельной программе Haskell? Допустим, у нас есть процесс с несколькими потоками, и один из них взаимодействует с чем-то через TCP-соединение, и мы получаем сигнал (скажем, в системе * nix). Какую (зеленую) нить будет доставлять этот сигнал? Будет ли он доставлен в тот, который "использует" сокет, или получит "основной" обозначенный поток, и он должен явно сделать throwTo
для отправки исключения в этот (зеленый) поток? любые ресурсы для понимания этого были бы полезны.
Спасибо.