1
콜백 기능을 구현하는 동안 다음과 같은 문제가 발생했습니다.안정적인 콜백 기능을 제공하려면 어떻게해야합니까?
부적절한 수신자가 반송되지 않는 상황을 처리하는 좋은 방법은 무엇입니까? 어떻게 이런 상황을 감지하고 정규 프로그램 흐름을 계속할 수 있습니까?
내 생각은 지금까지 실제 콜백을 수행하는 스레드를 생성하고 시간 초과 후에는 그것을 죽이는 것입니다 (그리고 응용 프로그램).
둘째 요점은 내 피 호출자에게 내 스택을 망칠 가능성을주지 않기 위해서입니다. 최종적으로 여러 콜백이 동시에 발생할 수 있다는 것을 염두에두고 피 호출자에게 깨끗한 스택을 제공하려면 어떻게해야합니까?
지금까지의 해결책은 다음과 같습니다. 응용 프로그램이 콜백 프로 시저를 설치할 때마다 스택 사용을위한 메모리를 할당하고 그에 대한 포인터를 제공해야합니다.
건설적인 의견과 제안을 부탁드립니다.
플랫폼 및 프로그래밍 환경을 언급 한 경우 도움이됩니다. 시간 초과를 사용하여 누락 된 응답을 감지하면 문제를 어떻게 처리했는지를 알 수 있습니다. 깨끗한 스택을 유지하는 것은 환경에 따라 다릅니다. – Andras
@Andras - 그렇기 때문에 x86/PC 환경에 대해서는 언급하는 것을 잊어 버렸습니다. osdev 태그는 나머지는 나에게 달려있다. 나는 어셈블러 & 프리 패스 캘린더와 함께 일하고있다. – Kitana
@Andras - 그럼에도 불구하고 이식성을 염두에두고 싶습니다. – Kitana