diff options
author | Alan Conway <aconway@apache.org> | 2006-10-17 21:03:03 +0000 |
---|---|---|
committer | Alan Conway <aconway@apache.org> | 2006-10-17 21:03:03 +0000 |
commit | 9da1df0a07bb9543078fd5384e47dc651e4ceaf0 (patch) | |
tree | 5201030359c14d7ad63b789b050ddc467683dcbb /cpp/src | |
parent | 3706a84dc89c1e667472a9854f4cd8375fe25345 (diff) | |
download | qpid-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.cpp | 2 | ||||
-rw-r--r-- | cpp/src/qpid/concurrent/APRThread.cpp | 6 | ||||
-rw-r--r-- | cpp/src/qpid/concurrent/APRThread.h | 2 | ||||
-rw-r--r-- | cpp/src/qpidd.cpp | 2 |
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; |