Re[2]: Сопрограммы и исключения.
От: Went  
Дата: 27.09.11 16:52
Оценка:
Здравствуйте, ononim, Вы писали:

W>>Здравствуйте. Думаю, вопрос уже немало обсосан, но осмелюсь поднять очередную тему.

W>>Реализовал сопрограммы используя WinAPI-функции SetThreadContext и GetThreadContext. Точнее, я подглядел как это сделал другой человек Он эмулировал ими стандартные POSIX-функции getcontext/setcontext/makecontext/swapcontext и потом, на их основе "возвел" класс сопрограммы. Все работает четко, но исключения не ловятся То есть если я внутри сопрограмммы напишу:
O>винда не ловит исключения если
O>1) цепочка SEH обработчиков, начинающаяся с _NT_TIB::ExceptionList невалидна
O>2) текущий esp не укладывается в _NT_TIB::StackBase/StackLimit

То есть при входе в сопрограмму нужно модифицировать _NT_TIB::StackBase/StackLimit на новый стек, и как-то правильно построить _NT_TIB::ExceptionList? А как мне достучаться к "текущей" _NT_TIB? Я, вообще, не бред говорю?
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.