Я заранее прошу прощения за многословный вопрос, но я хотел убедиться, что я не пропустил какие-либо ключевые моменты, которые могут изменить ваш ответ.
Я отвечаю за поддержку системного программного обеспечения, написанного на «C», из которых у нас есть несколько общих библиотек «.a». У нас есть то, что я бы назвал «Менеджером выполнения», основной задачей которого является разветвление и выполнение списка переменных исполняемых файлов «test-job» и возврат управления обратно в Execution Manager после завершения процесса test-job. Все исполняемые файлы, включая диспетчер выполнения, статически связаны с вышеупомянутыми библиотеками. Менеджер выполнения и процессы тестового задания, которые он разветвляет, используют IPC через общую память. Одна из общих библиотек содержит функции-оболочки для создания и подключения общей памяти с помощью предварительно определенного ключа, который никогда не меняется.
Несколько месяцев назад мы заблокировали наше программное обеспечение (тестовые задания плюс диспетчер выполнения), статически скомпилировали их и выпустили, чтобы тестовые задания были "проверены". С того времени были некоторые запросы на внесение изменений в диспетчер выполнения, что потребовало бы изменений в нескольких избранных функциях библиотеки. Однако руководство решило, что они не хотят перекомпилировать тестовые задания для новой версии общих библиотек, потому что это потребует от них повторной проверки исполняемых файлов тестовых заданий, которые у них есть в настоящее время; и они не хотят тратить деньги на это.
Поскольку все исполняемые файлы были статически скомпилированы, я бы сказал, что смешивание диспетчера выполнения с тестовыми заданиями, статически скомпилированными для разных версий одной и той же общей библиотеки, не будет проблемой. Тем не менее, включение IPC через разделяемую память заставляет задуматься, правда ли это до сих пор. Моя интуиция говорит, что, пока не было никаких изменений в функциях обертки совместно используемой памяти, особенно в ключе, у нас все должно быть в порядке, но я мог бы действительно использовать некоторые экспертные мнения по этому поводу.
Спасибо, что нашли время прочитать это, очень признателен.