class scripted_service : public base_process_service
{
virtual void handle_exit_status(bp_sys::exit_status exit_status) noexcept override;
+ virtual void exec_succeeded() noexcept override;
virtual void exec_failed(int errcode) noexcept override;
virtual void bring_down() noexcept override;
}
}
+void scripted_service::exec_succeeded() noexcept
+{
+ // For a scripted service, this means nothing other than that the start/stop
+ // script will now begin.
+}
+
rearm exec_status_pipe_watcher::fd_event(eventloop_t &loop, int fd, int flags) noexcept
{
base_process_service *sr = service;
void scripted_service::bring_down() noexcept
{
+ if (pid != -1) {
+ // We're already running the stop script; nothing to do.
+ return;
+ }
+
if (stop_command.length() == 0) {
stopped();
}