Здравствуйте, gusilebedi, Вы писали:
G>Если поток во время выполнения нативной функции находится в Alertable Wait State, то значит он крутить цикл и ждет сообщений. Вы можете перед вызовом функции зарегистрировать обработчик и вызвать его через сколько-то секунд. Цикл, который крутится внутри нативной функции дернет ваш обработчик и дальше нужно придумать как стек размотать. Для этого должен быть какой-то стандартный способ. Возможно вернуть ошибку из обработчика или кинуть исключение.
Он не крутится, а скорее всего висит на мьютексе. Это системная функция я в неё залезть не могу.
Эта проблема возникает очень редко и Thread.Abort прекрасно справляется.
Я к тому, что есть случаи где Thread.Abort можно применять для нативного кода и при этом ничего не ломается.
А городить ради этого отдельные домены или процессы тоже не имеет особого смысла.
Только и всего. А так поверь я прекрасно понимаю проблемы с Thread.Abort. Но за многие годы в том коде, что работает их не было
и солнце б утром не вставало, когда бы не было меня