| Alessio Spadaro |
C Callback e terminazione
Utilizzo un wrapper C# per invocare funzioni contenute in una libreria C. Tale libreria gestisce la comunicazione verso una piattaforma proprietaria in modo asincrono tramite callback.
L'applicazione di test per questo wrapper utilizza un thread che invoca periodicamente il trigger sulla libreria mentre il Thread principale rimane in un ciclo di sleep per mantenere vivo il processo. Il problema vero e proprio è il seguente: al ritorno dall'invocazione della callback (che avviene nel contesto del thread secondario) l'applicazione termina, nonostante il Thread principale sia ancora attivo e senza sollevare eccezioni. Debuggando il disassemblato ho notato che la callback ritorna ad un indirizzo che nn coorrisponde a nessuna istruzione: che convenzion dovrebbe seguire una callback per tornare ad un chiamante unmanaged? Grazie mille, Alessio |