Bonjour à tous,
j'ai un programme qui charge des fichiers .so dynamiquement, en cours d'exécution (avec dlopen() ).
Si, alors qu'un .so est chargé, je le modifie (pour mise à jour), des que mon programme veut accéder à une fonction qui etait exportée par ce .so, il plante.
Une solution (peu propre) pourrait etre qu'avant un dlopen() , je fasse une copie du fichier par programme dans un répertoire de travail, et que je supprime cette copie apres un dlclose().
Si le nombre de .so est conséquent, ca pourrait devenir lourd.
J'aimerais donc savoir s'il serait possible que soit le programme détecte une modification du .so, ou qu'il soit prévenu de l'extérieur (avec un signal) afin que je puisse le protéger du plantage ?
On m'a parlé de mmap, mais je n'ai pas vraiment compris le principe.
Merci d'avance,
eponyme
Partager