diff options
| author | Alan Conway <aconway@apache.org> | 2007-03-28 21:45:06 +0000 |
|---|---|---|
| committer | Alan Conway <aconway@apache.org> | 2007-03-28 21:45:06 +0000 |
| commit | 7cd249e7965f9b35050fa7504991a9facf0d1fbb (patch) | |
| tree | ff1f4fbe4dd0772dd13b55b1ebfc90ad4c529019 /qpid/cpp/lib/common/sys | |
| parent | 2f758d6131675cd025dfe7c08d55758b7536d638 (diff) | |
| download | qpid-python-7cd249e7965f9b35050fa7504991a9facf0d1fbb.tar.gz | |
* cpp/tests/run-unit-tests,setup: use valgrind --log-file rather than
redirecting stderr. Redirecting also swallows DllPlugInTester output.
* cpp/lib/common/sys/Acceptor.h: getPort() to return uint16_t, not int16t.
Note AcceptorTest is not inclued in Makefile.am. I fixed it to compile
but it hangs, need to determine if it's a test or an Acceptor bug.
git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk@523473 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'qpid/cpp/lib/common/sys')
| -rw-r--r-- | qpid/cpp/lib/common/sys/Acceptor.h | 2 | ||||
| -rw-r--r-- | qpid/cpp/lib/common/sys/apr/APRAcceptor.cpp | 18 |
2 files changed, 11 insertions, 9 deletions
diff --git a/qpid/cpp/lib/common/sys/Acceptor.h b/qpid/cpp/lib/common/sys/Acceptor.h index f571dcbddd..cd4932d92e 100644 --- a/qpid/cpp/lib/common/sys/Acceptor.h +++ b/qpid/cpp/lib/common/sys/Acceptor.h @@ -35,7 +35,7 @@ class Acceptor : public qpid::SharedObject<Acceptor> public: static Acceptor::shared_ptr create(int16_t port, int backlog, int threads, bool trace = false); virtual ~Acceptor() = 0; - virtual int16_t getPort() const = 0; + virtual uint16_t getPort() const = 0; virtual void run(qpid::sys::ConnectionInputHandlerFactory* factory) = 0; virtual void shutdown() = 0; }; diff --git a/qpid/cpp/lib/common/sys/apr/APRAcceptor.cpp b/qpid/cpp/lib/common/sys/apr/APRAcceptor.cpp index 52384857ed..a346b9e8dc 100644 --- a/qpid/cpp/lib/common/sys/apr/APRAcceptor.cpp +++ b/qpid/cpp/lib/common/sys/apr/APRAcceptor.cpp @@ -32,7 +32,7 @@ class APRAcceptor : public Acceptor { public: APRAcceptor(int16_t port, int backlog, int threads, bool trace); - virtual int16_t getPort() const; + virtual uint16_t getPort() const; virtual void run(qpid::sys::ConnectionInputHandlerFactory* factory); virtual void shutdown(); @@ -70,7 +70,7 @@ APRAcceptor::APRAcceptor(int16_t port_, int backlog, int threads, bool trace_) : CHECK_APR_SUCCESS(apr_socket_listen(socket, backlog)); } -int16_t APRAcceptor::getPort() const { +uint16_t APRAcceptor::getPort() const { apr_sockaddr_t* address; CHECK_APR_SUCCESS(apr_socket_addr_get(&address, APR_LOCAL, socket)); return address->port; @@ -80,9 +80,11 @@ void APRAcceptor::run(ConnectionInputHandlerFactory* factory) { running = true; processor.start(); std::cout << "Listening on port " << getPort() << "..." << std::endl; - while(running){ - apr_socket_t* client; - apr_status_t status = apr_socket_accept(&client, socket, APRPool::get()); + while(running) { + apr_socket_t* client; + printf("== accept pre\n"); // FIXME aconway 2007-03-28: + apr_status_t status = apr_socket_accept(&client, socket, APRPool::get()); + printf("== accept post %d %d\n", status, running); // FIXME aconway 2007-03-28: if(status == APR_SUCCESS){ //make this socket non-blocking: CHECK_APR_SUCCESS(apr_socket_timeout_set(client, 0)); @@ -106,16 +108,16 @@ void APRAcceptor::run(ConnectionInputHandlerFactory* factory) { void APRAcceptor::shutdown() { Mutex::ScopedLock locker(shutdownLock); - if (running) { + if (running) shutdownImpl(); - } } void APRAcceptor::shutdownImpl() { - Mutex::ScopedLock locker(shutdownLock); running = false; processor.stop(); + printf("== shutdownImpl pre\n"); // FIXME aconway 2007-03-28: CHECK_APR_SUCCESS(apr_socket_close(socket)); + printf("== shutdownImpl post\n"); } |
