exit read_wait async loop on error

fixes: https://github.com/openbmc/sdbusplus/issues/56

If read_wait's callback is passed an error, it should not
schedule another read, it should quit.

Tested: calls to io.quit() will successfully exit the read loop

Change-Id: If97efd1dc0ae57658d44a5ce86422ac24adaabb8
Signed-off-by: Vernon Mauery <vernon.mauery@linux.intel.com>
diff --git a/include/sdbusplus/asio/connection.hpp b/include/sdbusplus/asio/connection.hpp
index 41f15af..15edd1b 100644
--- a/include/sdbusplus/asio/connection.hpp
+++ b/include/sdbusplus/asio/connection.hpp
@@ -333,7 +333,11 @@
     {
         socket.async_read_some(
             boost::asio::null_buffers(),
-            [&](const boost::system::error_code& /*ec*/, std::size_t) {
+            [&](const boost::system::error_code& ec, std::size_t) {
+                if (ec)
+                {
+                    return;
+                }
                 if (process_discard())
                 {
                     read_immediate();