summaryrefslogtreecommitdiff
path: root/cpp/src
diff options
context:
space:
mode:
authorAlan Conway <aconway@apache.org>2006-10-17 21:03:03 +0000
committerAlan Conway <aconway@apache.org>2006-10-17 21:03:03 +0000
commit9da1df0a07bb9543078fd5384e47dc651e4ceaf0 (patch)
tree5201030359c14d7ad63b789b050ddc467683dcbb /cpp/src
parent3706a84dc89c1e667472a9854f4cd8375fe25345 (diff)
downloadqpid-python-9da1df0a07bb9543078fd5384e47dc651e4ceaf0.tar.gz
Fix core dump if address in use.
git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@465054 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'cpp/src')
-rw-r--r--cpp/src/qpid/broker/HeadersExchange.cpp2
-rw-r--r--cpp/src/qpid/concurrent/APRThread.cpp6
-rw-r--r--cpp/src/qpid/concurrent/APRThread.h2
-rw-r--r--cpp/src/qpidd.cpp2
4 files changed, 5 insertions, 7 deletions
diff --git a/cpp/src/qpid/broker/HeadersExchange.cpp b/cpp/src/qpid/broker/HeadersExchange.cpp
index 12827da26b..96365e2130 100644
--- a/cpp/src/qpid/broker/HeadersExchange.cpp
+++ b/cpp/src/qpid/broker/HeadersExchange.cpp
@@ -41,7 +41,6 @@ namespace {
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::unbind(Queue::shared_ptr queue, const string& /*routingKey
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);
diff --git a/cpp/src/qpid/concurrent/APRThread.cpp b/cpp/src/qpid/concurrent/APRThread.cpp
index f1bfa6c7da..d4d073cac6 100644
--- a/cpp/src/qpid/concurrent/APRThread.cpp
+++ b/cpp/src/qpid/concurrent/APRThread.cpp
@@ -27,7 +27,7 @@ void* APR_THREAD_FUNC ExecRunnable(apr_thread_t* thread, void *data){
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::start(){
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(){
diff --git a/cpp/src/qpid/concurrent/APRThread.h b/cpp/src/qpid/concurrent/APRThread.h
index 6d3fc0a285..6328765a06 100644
--- a/cpp/src/qpid/concurrent/APRThread.h
+++ b/cpp/src/qpid/concurrent/APRThread.h
@@ -26,7 +26,7 @@
namespace qpid {
namespace concurrent {
- class APRThread : public virtual Thread
+ class APRThread : public Thread
{
const Runnable* runnable;
apr_pool_t* pool;
diff --git a/cpp/src/qpidd.cpp b/cpp/src/qpidd.cpp
index 293380d46d..e93676513a 100644
--- a/cpp/src/qpidd.cpp
+++ b/cpp/src/qpidd.cpp
@@ -41,7 +41,7 @@ int main(int argc, char** argv)
broker->run();
}
return 0;
- } catch(std::exception e) {
+ } catch(const std::exception& e) {
std::cout << e.what() << std::endl;
}
return 1;