tools: keep tools running even when there are no immediate operations to process.

Change-Id: I47cf15745f2d6f555cab2066d5c2916cf85b843a
diff --git a/tools/dnc/dnc.cpp b/tools/dnc/dnc.cpp
index db21477..7ed1fc4 100644
--- a/tools/dnc/dnc.cpp
+++ b/tools/dnc/dnc.cpp
@@ -239,6 +239,7 @@
 void
 Dnc::run()
 {
+    auto work = asio::make_work_guard(*ioContext);
     ioContext->run();
 }
 
diff --git a/tools/dsh/dsh.cpp b/tools/dsh/dsh.cpp
index 5f32d4e..5dcfb0b 100644
--- a/tools/dsh/dsh.cpp
+++ b/tools/dsh/dsh.cpp
@@ -256,6 +256,7 @@
 void
 dhtnet::Dsh::run()
 {
+    auto work = asio::make_work_guard(*ioContext);
     ioContext->run();
 }
 
diff --git a/tools/dvpn/dvpn.cpp b/tools/dvpn/dvpn.cpp
index ac4536f..cc56ba5 100644
--- a/tools/dvpn/dvpn.cpp
+++ b/tools/dvpn/dvpn.cpp
@@ -371,6 +371,7 @@
 void
 dhtnet::Dvpn::run()
 {
+    auto work = asio::make_work_guard(*ioContext);
     ioContext->run();
 }