, поэтому я пытаюсь освободить контекст.
Вот как я создал контекст
ucontext* uPtr = new ucontext;
getcontext(uPtr);
char* stack = new char[STACK_SIZE];
uPtr->uc_stack.ss_sp = stack;
uPtr->uc_stack.ss_size = STACK_SIZE;
uPtr->uc_stack.ss_flags = 0;
uPtr->uc_link = NULL;
makecontext(uPtr, (void (*)()) func, 2, arg1, arg2);
после создания контекста, как описано выше, я использую его и пытаюсь удалить, когда ясделано, но я не могу понять, как удалить uPtr-> uc_stack.ss_sp.
Я пытался
delete[] foo; //suppose I saved the char* stack in foo
, но это дало мне ошибку сегмента
и когдаЯ попытался
delete[] (char*)uPtr->uc_stack.sS_sp;
Я не думаю, что он правильно удаляет стек.Кто-нибудь знает как это сделать?Большое спасибо