diff --git a/example/heartbeat.cpp b/example/heartbeat.cpp
index c4adaac..f7390d7 100644
--- a/example/heartbeat.cpp
+++ b/example/heartbeat.cpp
@@ -2,17 +2,26 @@
 #include <cstdio>
 #include <sdeventplus/clock.hpp>
 #include <sdeventplus/event.hpp>
+#include <sdeventplus/source/signal.hpp>
 #include <sdeventplus/source/time.hpp>
+#include <stdplus/signal.hpp>
 #include <string>
 #include <utility>
 
 using sdeventplus::Event;
 using sdeventplus::source::Enabled;
+using sdeventplus::source::Signal;
 
 constexpr auto clockId = sdeventplus::ClockId::RealTime;
 using Clock = sdeventplus::Clock<clockId>;
 using Time = sdeventplus::source::Time<clockId>;
 
+void intCb(Signal& signal, const struct signalfd_siginfo*)
+{
+    printf("Exiting\n");
+    signal.get_event().exit(0);
+}
+
 int main(int argc, char* argv[])
 {
     if (argc != 2)
@@ -36,5 +45,7 @@
     };
     Time time(event, Clock(event).now(), std::chrono::seconds{1},
               std::move(hbFunc));
+    stdplus::signal::block(SIGINT);
+    Signal signal(event, SIGINT, intCb);
     return event.loop();
 }
