You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@qpid.apache.org by as...@apache.org on 2010/10/12 18:04:06 UTC
svn commit: r1021815 - /qpid/trunk/qpid/cpp/src/qpid/sys/rdma/RdmaServer.cpp
Author: astitcher
Date: Tue Oct 12 16:04:06 2010
New Revision: 1021815
URL: http://svn.apache.org/viewvc?rev=1021815&view=rev
Log:
Fix Rdma test server so that you can interrupt it again (since making
Poller run loop impervious to signals)
Modified:
qpid/trunk/qpid/cpp/src/qpid/sys/rdma/RdmaServer.cpp
Modified: qpid/trunk/qpid/cpp/src/qpid/sys/rdma/RdmaServer.cpp
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/cpp/src/qpid/sys/rdma/RdmaServer.cpp?rev=1021815&r1=1021814&r2=1021815&view=diff
==============================================================================
--- qpid/trunk/qpid/cpp/src/qpid/sys/rdma/RdmaServer.cpp (original)
+++ qpid/trunk/qpid/cpp/src/qpid/sys/rdma/RdmaServer.cpp Tue Oct 12 16:04:06 2010
@@ -18,6 +18,7 @@
* under the License.
*
*/
+#include "qpid/sys/Thread.h"
#include "qpid/sys/rdma/RdmaIO.h"
#include "qpid/sys/rdma/rdma_exception.h"
@@ -36,9 +37,9 @@ using std::string;
using std::cout;
using std::cerr;
+using qpid::sys::Thread;
using qpid::sys::SocketAddress;
using qpid::sys::Poller;
-using qpid::sys::Dispatcher;
// All the accepted connections
namespace qpid {
@@ -179,7 +180,6 @@ int main(int argc, char* argv[]) {
try {
boost::shared_ptr<Poller> p(new Poller());
- Dispatcher d(p);
Rdma::Listener a(
Rdma::ConnectionParams(16384, Rdma::DEFAULT_WR_ENTRIES),
@@ -191,7 +191,13 @@ int main(int argc, char* argv[]) {
SocketAddress sa("", port);
a.start(p, sa);
- d.run();
+
+ // The poller loop blocks all signals so run in its own thread
+ Thread t(*p);
+
+ ::pause();
+ p->shutdown();
+ t.join();
} catch (Rdma::Exception& e) {
int err = e.getError();
cerr << "Error: " << e.what() << "(" << err << ")\n";
---------------------------------------------------------------------
Apache Qpid - AMQP Messaging Implementation
Project: http://qpid.apache.org
Use/Interact: mailto:commits-subscribe@qpid.apache.org