return true;
}
- virtual void interrupt_start() noexcept;
+ // Interrupt startup. Returns true if service start is fully cancelled; returns false if cancel order
+ // issued but service has not yet responded.
+ virtual bool interrupt_start() noexcept;
public:
virtual bool can_interrupt_start() noexcept override
{
- return waiting_restart_timer || service_record::can_interrupt_start();
+ return waiting_restart_timer || start_is_interruptible || service_record::can_interrupt_start();
}
virtual bool can_proceed_to_start() noexcept override
return ! waiting_restart_timer;
}
- virtual void interrupt_start() noexcept override;
+ virtual bool interrupt_start() noexcept override;
// Kill with SIGKILL
void kill_with_fire() noexcept;