Bonjour à tous.

Cela fait déjà quelques temps que je suis confronté à un "problème" que je n'arrive pas à m'expliquer.

Je vous explique l'idée. Je développe un démon, qui doit être disponible le plus souvent possible (100% du temps étant un idéal).

Cependant, la configuration de ce démon peut être amenée à changer. Qu'à cela ne tienne, je catch un SIGUSR1 pour recharger la conf et continuer mon bonhomme de chemin.

Sauf que j'ai remarqué que cette "astuce" ne fonctionnait qu'une seule fois.

Pourtant, j'utilise un code de ce type :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
 
#!/usr/bin/perl -w
 
use strict;
 
$SIG{'USR1'} = \&mafonction;
 
sub mafonction() {
    $SIG{'USR1'} = \&mafonction;
    loadConf();
    [...]
}
 
[...]
Est-il donc possible de "catcher" plusieurs fois un signal ?
Si oui, comment ?