Я пишу Хаскеллу, связывающему с некоторыми библиотека и есть функция пустота foo()
, который звонит избранный()
внутри. Когда я вызываю эту функцию от Хаскелла, тот избранный ()
, требование начинает постоянно возвращаться EINTR
. Это путает код библиотеки, и он начинает перекручивание навсегда.
В #haskell
канал IRC мне сказали бежать foo()
от связанной нити. Я использовал runInBoundThread
для этого, и теперь все, кажется, работает. Но в некоторых редких случаях я добираюсь Будильник
сообщение в пульте ( хорошо, я нашел, что это означает, что приложение ловит SIGALRM ).
Я не уверен, что это - надлежащий способ решить эту проблему, и я не хочу зависеть от Контроль. Параллелизм
. Что я должен сделать?