Skip to content
  • Michal Schmidt's avatar
    service: pass via FAILED/DEAD before going to AUTO_RESTART · 0c7f15b3
    Michal Schmidt authored
    With misconfigured mysql, which uses Restart=always, the following two
    messages would loop indefinitely and the "systemctl start" would never
    finish:
      Job pending for unit, delaying automatic restart.
      mysqld.service holdoff time over, scheduling restart.
    
    In service_enter_dead() always set the state to SERVICE_FAILED/DEAD first
    before setting SERVICE_AUTO_RESTART. This is to allow running jobs to
    complete. OnFailure will be also triggered at this point, so there's no
    need to do it again from service_stop() (where it was added in commit
    f0c7b229).
    
    Note that OnFailure units should better trigger only after giving up
    auto-restarting, but that's for another patch to solve.
    
    https://bugzilla.redhat.com/show_bug.cgi?id=832039
    0c7f15b3