summaryrefslogtreecommitdiff
path: root/cpp/src
diff options
context:
space:
mode:
authorAlan Conway <aconway@apache.org>2007-08-08 13:42:23 +0000
committerAlan Conway <aconway@apache.org>2007-08-08 13:42:23 +0000
commitb355ad32211ffc96b7a7516d89f894e471828460 (patch)
treed1fa8a999d3ca584b088d5e82044aa26326c5a32 /cpp/src
parent34b5e61791cad67128ad2aff29a52576a737c7af (diff)
downloadqpid-python-b355ad32211ffc96b7a7516d89f894e471828460.tar.gz
* src/tests/start_broker: Pass script parameters to broker.
* src/qpid/sys/Serializer.cpp: Corrected log levels. * src/tests/.valgrind.supp-default: Suppress probably benign leaks and uninit param errors from asynch IO code. Need verification they are beningn. * src/qpid/sys/AsynchIOAcceptor.cpp(run): Fix memory leak. git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@563879 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'cpp/src')
-rw-r--r--cpp/src/qpid/broker/Broker.cpp4
-rw-r--r--cpp/src/qpid/sys/AsynchIOAcceptor.cpp7
-rw-r--r--cpp/src/qpid/sys/Serializer.cpp4
-rw-r--r--cpp/src/tests/.valgrind.supp-default46
-rwxr-xr-xcpp/src/tests/start_broker2
5 files changed, 55 insertions, 8 deletions
diff --git a/cpp/src/qpid/broker/Broker.cpp b/cpp/src/qpid/broker/Broker.cpp
index fa183979e1..98487631cf 100644
--- a/cpp/src/qpid/broker/Broker.cpp
+++ b/cpp/src/qpid/broker/Broker.cpp
@@ -149,12 +149,14 @@ std::string Broker::getUrl() const {
}
Acceptor& Broker::getAcceptor() const {
- if (!acceptor)
+ if (!acceptor) {
const_cast<Acceptor::shared_ptr&>(acceptor) =
Acceptor::create(config.port,
config.connectionBacklog,
config.workerThreads,
false);
+ QPID_LOG(info, "Listening on port " << getPort());
+ }
return *acceptor;
}
diff --git a/cpp/src/qpid/sys/AsynchIOAcceptor.cpp b/cpp/src/qpid/sys/AsynchIOAcceptor.cpp
index 8d6b543dc9..93cf35a043 100644
--- a/cpp/src/qpid/sys/AsynchIOAcceptor.cpp
+++ b/cpp/src/qpid/sys/AsynchIOAcceptor.cpp
@@ -159,19 +159,18 @@ void AsynchIOAcceptor::run(ConnectionInputHandlerFactory* fact) {
boost::bind(&AsynchIOAcceptor::accepted, this, poller, _1, fact));
acceptor.start(poller);
- std::vector<Thread*> t(numIOThreads-1);
+ std::vector<Thread> t(numIOThreads-1);
// Run n-1 io threads
for (int i=0; i<numIOThreads-1; ++i)
- t[i] = new Thread(d);
+ t[i] = Thread(d);
// Run final thread
d.run();
// Now wait for n-1 io threads to exit
for (int i=0; i>numIOThreads-1; ++i) {
- t[i]->join();
- delete t[i];
+ t[i].join();
}
}
diff --git a/cpp/src/qpid/sys/Serializer.cpp b/cpp/src/qpid/sys/Serializer.cpp
index cdc8b91694..faf94a0f93 100644
--- a/cpp/src/qpid/sys/Serializer.cpp
+++ b/cpp/src/qpid/sys/Serializer.cpp
@@ -55,11 +55,11 @@ void Serializer::dispatch(Task& task) {
try {
task();
} catch (const std::exception& e) {
- QPID_LOG(error, "Unexpected exception in Serializer::dispatch"
+ QPID_LOG(critical, "Unexpected exception in Serializer::dispatch"
<< e.what());
assert(0); // Should not happen.
} catch (...) {
- QPID_LOG(error, "Unexpected exception in Serializer::dispatch.");
+ QPID_LOG(critical, "Unexpected exception in Serializer::dispatch.");
assert(0); // Should not happen.
}
}
diff --git a/cpp/src/tests/.valgrind.supp-default b/cpp/src/tests/.valgrind.supp-default
index 18e69df6ff..037e0267ce 100644
--- a/cpp/src/tests/.valgrind.supp-default
+++ b/cpp/src/tests/.valgrind.supp-default
@@ -15,4 +15,50 @@
obj:/lib64/ld-2.6.so
obj:*
}
+{
+ False "possibly leaked" in boost program_options - global std::string var.
+ Memcheck:Leak
+ fun:_Znwj
+ fun:_ZNSs4_Rep9_S_createEjjRKSaIcE
+ obj:/usr/lib/libstdc++.so.6.0.8
+ fun:_ZNSsC1EPKcRKSaIcE
+ obj:/usr/lib/libboost_program_options.so.1.33.1
+}
+{
+ TODO: CONFIRM BENIGN - uninit params to epoll_ctl
+ Memcheck:Param
+ epoll_ctl(event)
+ fun:epoll_ctl
+ fun:_ZN4qpid3sys14DispatchHandle10startWatchEN5boost10shared_ptrINS0_6PollerEEE
+}
+{
+ TODO: CONFIRM BENIGN - uninit params to epoll_ctl
+ Memcheck:Param
+ epoll_ctl(event)
+ fun:epoll_ctl
+ fun:_ZN4qpid3sys14DispatchHandle17dispatchCallbacksENS0_6Poller9EventTypeE
+}
+{
+ TODO: CONFIRM BENIGN - uninit params to epoll_ctl (on shutdown)
+ Memcheck:Param
+ epoll_ctl(event)
+ fun:epoll_ctl
+ fun:_ZN4qpid3sys16AsynchIOAcceptor8shutdownEv
+}
+{
+ TODO: CONFIRM BENIGN - uninit params to epoll_ctl (on shutdown)
+ Memcheck:Param
+ epoll_ctl(event)
+ fun:epoll_ctl
+ fun:_ZN4qpid3sys14DispatchHandle12rewatchWriteEv
+}
+{
+ TODO: shutdown leak, not critical but better to fix it. Unjoined thread?
+ Memcheck:Leak
+ fun:calloc
+ fun:_dl_allocate_tls
+ fun:pthread_create@@GLIBC_2.1
+ fun:pthread_create@GLIBC_2.0
+ fun:_ZN4qpid3sys16AsynchIOAcceptor3runEPNS0_29ConnectionInputHandlerFactoryE
+}
diff --git a/cpp/src/tests/start_broker b/cpp/src/tests/start_broker
index aa485ddd3e..6f5752befb 100755
--- a/cpp/src/tests/start_broker
+++ b/cpp/src/tests/start_broker
@@ -1,4 +1,4 @@
#!/bin/sh
rm -f qpidd.vglog qpidd.log
test -n "$VALGRIND" && VALGRIND="$VALGRIND --log-file-exactly=qpidd.vglog --"
-exec libtool --mode=execute $VALGRIND ../qpidd --daemon --port 0 --log.output qpidd.log > qpidd.port
+exec libtool --mode=execute $VALGRIND ../qpidd --daemon --port 0 --log.output qpidd.log "$@" > qpidd.port