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;