Я пишу DLL в ANSI C и использую Curl для HTTP-соединений.
Эта DLL должна быть в состоянии подключиться к моему серверу для отправки некоторой информации непосредственно перед завершением работы приложения.Я хотел бы знать, каков наилучший подход для достижения этой цели.Я попытался зарегистрировать функцию обратного вызова, используя atexit, а также вызывая метод connectToServer в деструкторе.Я также пытался использовать DllMain с DLL_PROCESS_DETACH.Во всех случаях, Curl не может подключиться к серверу (код ошибки 7), потому что окна уже выгружены необходимые библиотеки, используемые Curl.
Я слышал, люди говорят, что единственный способ добиться этого в Windows, это создать отдельныйпроцесс (watchdog), чтобы отслеживать, когда основной процесс завершается, а затем открыть соединение в этом другом процессе.
Библиотека, которую я пишу, работает как в Linux (.so), так и в Windows (.dll).В Linux я использую atexit, и все работает нормально.Я бы предпочел не использовать сторожевой процесс, так как я не буду использовать его на .so.
Есть ли способ сделать это?
Заранее спасибо.