You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@qpid.apache.org by ac...@apache.org on 2006/10/17 23:03:04 UTC

svn commit: r465054 - in /incubator/qpid/trunk/qpid/cpp/src: qpid/broker/HeadersExchange.cpp qpid/concurrent/APRThread.cpp qpid/concurrent/APRThread.h qpidd.cpp

Author: aconway
Date: Tue Oct 17 14:03:03 2006
New Revision: 465054

URL: http://svn.apache.org/viewvc?view=rev&rev=465054
Log:
Fix core dump if address in use.

Modified:
    incubator/qpid/trunk/qpid/cpp/src/qpid/broker/HeadersExchange.cpp
    incubator/qpid/trunk/qpid/cpp/src/qpid/concurrent/APRThread.cpp
    incubator/qpid/trunk/qpid/cpp/src/qpid/concurrent/APRThread.h
    incubator/qpid/trunk/qpid/cpp/src/qpidd.cpp

Modified: incubator/qpid/trunk/qpid/cpp/src/qpid/broker/HeadersExchange.cpp
URL: http://svn.apache.org/viewvc/incubator/qpid/trunk/qpid/cpp/src/qpid/broker/HeadersExchange.cpp?view=diff&rev=465054&r1=465053&r2=465054
==============================================================================
--- incubator/qpid/trunk/qpid/cpp/src/qpid/broker/HeadersExchange.cpp (original)
+++ incubator/qpid/trunk/qpid/cpp/src/qpid/broker/HeadersExchange.cpp Tue Oct 17 14:03:03 2006
@@ -41,7 +41,6 @@
 HeadersExchange::HeadersExchange(const string& _name) : Exchange(_name) { }
 
 void HeadersExchange::bind(Queue::shared_ptr queue, const string& routingKey, FieldTable* args){
-    std::cout << "HeadersExchange::bind" << std::endl;
     Locker locker(lock);
     std::string what = args->getString("x-match");
     if (what != all && what != any) {
@@ -60,7 +59,6 @@
 
 
 void HeadersExchange::route(Message::shared_ptr& msg, const string& /*routingKey*/, FieldTable* args){
-    std::cout << "route: " << *args << std::endl;
     Locker locker(lock);;
     for (Bindings::iterator i = bindings.begin(); i != bindings.end(); ++i) {
         if (match(i->first, *args)) i->second->deliver(msg);

Modified: incubator/qpid/trunk/qpid/cpp/src/qpid/concurrent/APRThread.cpp
URL: http://svn.apache.org/viewvc/incubator/qpid/trunk/qpid/cpp/src/qpid/concurrent/APRThread.cpp?view=diff&rev=465054&r1=465053&r2=465054
==============================================================================
--- incubator/qpid/trunk/qpid/cpp/src/qpid/concurrent/APRThread.cpp (original)
+++ incubator/qpid/trunk/qpid/cpp/src/qpid/concurrent/APRThread.cpp Tue Oct 17 14:03:03 2006
@@ -27,7 +27,7 @@
     return NULL;
 } 
 
-APRThread::APRThread(apr_pool_t* _pool, Runnable* _runnable) : runnable(_runnable), pool(_pool) {}
+APRThread::APRThread(apr_pool_t* _pool, Runnable* _runnable) : runnable(_runnable), pool(_pool), runner(0) {}
 
 APRThread::~APRThread(){
 }
@@ -38,11 +38,11 @@
 
 void APRThread::join(){
     apr_status_t status;
-    CHECK_APR_SUCCESS(apr_thread_join(&status, runner));
+    if (runner) CHECK_APR_SUCCESS(apr_thread_join(&status, runner));
 }
 
 void APRThread::interrupt(){
-    CHECK_APR_SUCCESS(apr_thread_exit(runner, APR_SUCCESS));
+    if (runner) CHECK_APR_SUCCESS(apr_thread_exit(runner, APR_SUCCESS));
 }
 
 unsigned int qpid::concurrent::APRThread::currentThread(){

Modified: incubator/qpid/trunk/qpid/cpp/src/qpid/concurrent/APRThread.h
URL: http://svn.apache.org/viewvc/incubator/qpid/trunk/qpid/cpp/src/qpid/concurrent/APRThread.h?view=diff&rev=465054&r1=465053&r2=465054
==============================================================================
--- incubator/qpid/trunk/qpid/cpp/src/qpid/concurrent/APRThread.h (original)
+++ incubator/qpid/trunk/qpid/cpp/src/qpid/concurrent/APRThread.h Tue Oct 17 14:03:03 2006
@@ -26,7 +26,7 @@
 namespace qpid {
 namespace concurrent {
 
-    class APRThread : public virtual Thread
+    class APRThread : public Thread
     {
 	const Runnable* runnable;
 	apr_pool_t* pool;

Modified: incubator/qpid/trunk/qpid/cpp/src/qpidd.cpp
URL: http://svn.apache.org/viewvc/incubator/qpid/trunk/qpid/cpp/src/qpidd.cpp?view=diff&rev=465054&r1=465053&r2=465054
==============================================================================
--- incubator/qpid/trunk/qpid/cpp/src/qpidd.cpp (original)
+++ incubator/qpid/trunk/qpid/cpp/src/qpidd.cpp Tue Oct 17 14:03:03 2006
@@ -41,7 +41,7 @@
             broker->run();
         }
         return 0;
-    } catch(std::exception e) {
+    } catch(const std::exception& e) {
         std::cout << e.what() << std::endl;
     }
     return 1;