Из руководства makecontext ...
Из-за ограничений в текущей реализации pthread, makecontext не должен использоваться в программах, которые ссылаются на библиотеку pthread (3) (независимо от того, используются потоки или нет).).
Теперь мой вопрос: почему это не работает и каковы альтернативные методы.На самом деле меня интересует переключение стеков в потоке пользовательского уровня в некоторые моменты, но я вижу, что когда я делаю swapcontext, то время от времени я получаю ошибки сегментации.Что мне делать?
Я хочу добиться чего-то подобного ...
void thread_func(void * thread_args)
{
a();
b();
getcontext/makecontext/swapcontext to call c();
d();
....
}
Так что в этом случае я хочу использовать отдельный стек при выполнении функции c .