[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Script pour démarrer un daemon par défaut : un bug ?



Laurent COOPER <laurent.cooper@ac-grenoble.fr> (2016-04-22):
> Oui, pas de problème. J'ai bien un suivi cela, et je n'ai pas de set -e
> 
> Le problème, c'est que c'est la dernière commande exécutée qui retourne
> 1, pas par ce que il y a un set -e. Juste par ce que c'est la dernière.
> J'ai fait le test avec un script minimaliste […]

Oh right, j'étais resté sur la ligne *avant* le do_start, sans voir
qu'après coup on refait le même genre de test pour la partie logging,
en fonction de "$?".

Effectivement, on pourrait imaginer stocker $? et faire un exit avec
après la gestion du log, ou bien opter pour une construction différente
de « [ "$VERBOSE" != no ] && log_end_msg »… Un rapport de bogue semble
une bonne idée. Je ne pense pas que ça soit le type de correction qu'on
prenne pour stable cependant. Et le script s'est vidé dans la version
que l'on a dans unstable à l'heure actuelle…

Maintenant, il semble référencer /lib/init/init-d-script qui contient :

    do_start()
    {
            if is_call_implemented do_start_prepare ; then
                    call do_start_prepare
            fi
            [ "$VERBOSE" != no ] && log_daemon_msg "Starting $DESC" "$NAME"
            call do_start_cmd
            case "$?" in
                    0|1) [ "$VERBOSE" != no ] && log_end_msg 0 ;;
                    2) [ "$VERBOSE" != no ] && log_end_msg 1 ;;
            esac
            if is_call_implemented do_start_cleanup ; then
                    call do_start_cleanup
            fi
    }

Donc ton problème disparaît probablement avec ce if en fin de fonction.


KiBi.

Attachment: signature.asc
Description: Digital signature


Reply to: