Я написал оболочку Perl XSUB для очень простого C API (для которого у меня нет источника).
C API состоит из 4 функций.Одна из которых возвращает «дескриптор» (просто целое число), и это значение должно быть передано обратно любой из трех других функций, чтобы получить нужный внутренний «объект» для вызова.Предполагается, что C API хранит список этих объектов и выдает правильный для поставляемого дескриптора.
При запуске в автономном скрипте все прекрасно работает.
Я сейчас пытаюсь запустить этот API под apache2 с mod_perl.Вначале все работает нормально - я возвращаю «дескриптор» обратно клиенту, а затем клиент делает последующие вызовы с тем же значением дескриптора.Но после (очень короткого) периода бездействия C API решает, что он потерял свои списки «объектов» и начинает заново.
Я предполагаю, что это потому, что основной файл .so выгружается.
Итак, мой вопрос:
Могу ли я что-нибудь сделать, чтобы предотвратить выгрузку Apache / Perl этого .SO?Единственное, что, похоже, работает - это запуск apache в режиме отладки с -X.
Спасибо