summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCarl Hetherington <cth@carlh.net>2017-05-29 23:04:44 +0100
committerCarl Hetherington <cth@carlh.net>2017-05-29 23:04:44 +0100
commit8b183eea3238cc2f25cf62e63d724a2d2d361ee7 (patch)
tree75a50d6f83e306e539c83e4d4403f4f2217f70af
parenteb75d656970d2195ff03f7d1bb57db959249cb96 (diff)
Fix hang in client_server tests.
-rw-r--r--src/lib/server.cc8
-rw-r--r--src/lib/server.h1
-rw-r--r--test/client_server_test.cc4
3 files changed, 10 insertions, 3 deletions
diff --git a/src/lib/server.cc b/src/lib/server.cc
index 1fb3d7d47..722b1c811 100644
--- a/src/lib/server.cc
+++ b/src/lib/server.cc
@@ -40,7 +40,7 @@ Server::~Server ()
}
_acceptor.close ();
- _io_service.stop ();
+ stop ();
}
void
@@ -74,3 +74,9 @@ Server::handle_accept (shared_ptr<Socket> socket, boost::system::error_code cons
handle (socket);
start_accept ();
}
+
+void
+Server::stop ()
+{
+ _io_service.stop ();
+}
diff --git a/src/lib/server.h b/src/lib/server.h
index a72d36026..747c516a2 100644
--- a/src/lib/server.h
+++ b/src/lib/server.h
@@ -35,6 +35,7 @@ public:
virtual ~Server ();
virtual void run ();
+ void stop ();
protected:
boost::mutex _mutex;
diff --git a/test/client_server_test.cc b/test/client_server_test.cc
index f84a0cb58..5e4c2540e 100644
--- a/test/client_server_test.cc
+++ b/test/client_server_test.cc
@@ -135,9 +135,9 @@ BOOST_AUTO_TEST_CASE (client_server_test_rgb)
delete *i;
}
+ server->stop ();
server_thread->join ();
delete server_thread;
-
delete server;
}
@@ -310,8 +310,8 @@ BOOST_AUTO_TEST_CASE (client_server_test_j2k)
delete *i;
}
+ server->stop ();
server_thread->join ();
delete server_thread;
-
delete server;
}