diff options
Diffstat (limited to 'src/state/active_state.hpp')
-rw-r--r-- | src/state/active_state.hpp | 15 |
1 files changed, 8 insertions, 7 deletions
diff --git a/src/state/active_state.hpp b/src/state/active_state.hpp index a204dc3..beb1da1 100644 --- a/src/state/active_state.hpp +++ b/src/state/active_state.hpp @@ -14,7 +14,10 @@ struct ActiveState : public BasicStateT<ActiveState> std::unique_ptr<resource::Process> process, std::unique_ptr<resource::Gadget> gadget) : BasicStateT(machine), - process(std::move(process)), gadget(std::move(gadget)){}; + process(std::move(process)), gadget(std::move(gadget)) + { + machine.notify(); + }; virtual std::unique_ptr<BasicState> onEnter() { @@ -43,12 +46,9 @@ struct ActiveState : public BasicStateT<ActiveState> Configuration::inactivityTimeout.count(), "s) - Unmounting"); // unmount media & stop retriggering timer - boost::asio::spawn( - machine.getIoc(), - [&machine = machine]( - [[maybe_unused]] boost::asio::yield_context yield) { - machine.emitUnmountEvent(); - }); + boost::asio::post(machine.getIoc(), [&machine = machine]() { + machine.emitUnmountEvent(); + }); return; } else @@ -80,6 +80,7 @@ struct ActiveState : public BasicStateT<ActiveState> std::unique_ptr<BasicState> handleEvent([[maybe_unused]] UnmountEvent event) { + machine.notificationStart(); return std::make_unique<DeactivatingState>(machine, std::move(process), std::move(gadget)); } |