Author: shuston Date: Tue Jan 13 14:41:08 2009 New Revision: 734265 URL: http://svn.apache.org/viewvc?rev=734265&view=rev Log: Move dispatcher code from iocpDispatcher.cpp (no longer needed) to IocpPoller.cpp (run); mirrors migration introduced on Linux side
Removed: qpid/trunk/qpid/cpp/src/qpid/sys/windows/IocpDispatcher.cpp Modified: qpid/trunk/qpid/cpp/src/Makefile.am qpid/trunk/qpid/cpp/src/common.vcproj qpid/trunk/qpid/cpp/src/qpid/sys/windows/IocpPoller.cpp Modified: qpid/trunk/qpid/cpp/src/Makefile.am URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/cpp/src/Makefile.am?rev=734265&r1=734264&r2=734265&view=diff ============================================================================== --- qpid/trunk/qpid/cpp/src/Makefile.am (original) +++ qpid/trunk/qpid/cpp/src/Makefile.am Tue Jan 13 14:41:08 2009 @@ -38,7 +38,6 @@ qpid/sys/windows/Condition.h \ qpid/sys/windows/FileSysDir.cpp \ qpid/sys/windows/IntegerTypes.h \ - qpid/sys/windows/IocpDispatcher.cpp \ qpid/sys/windows/IocpPoller.cpp \ qpid/sys/windows/IOHandle.cpp \ qpid/sys/windows/IoHandlePrivate.h \ Modified: qpid/trunk/qpid/cpp/src/common.vcproj URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/cpp/src/common.vcproj?rev=734265&r1=734264&r2=734265&view=diff ============================================================================== --- qpid/trunk/qpid/cpp/src/common.vcproj (original) +++ qpid/trunk/qpid/cpp/src/common.vcproj Tue Jan 13 14:41:08 2009 @@ -930,6 +930,9 @@ RelativePath="qpid\sys\AsynchIOHandler.cpp"> </File> <File + RelativePath="qpid\sys\Dispatcher.cpp"> + </File> + <File RelativePath="qpid\sys\PollableCondition.h"> </File> <File @@ -942,13 +945,13 @@ RelativePath="qpid\sys\Shlib.cpp"> </File> <File - RelativePath="qpid\sys\windows\AsynchIO.cpp"> + RelativePath="qpid\sys\Timer.cpp"> </File> <File - RelativePath="qpid\sys\windows\FileSysDir.cpp"> + RelativePath="qpid\sys\windows\AsynchIO.cpp"> </File> <File - RelativePath="qpid\sys\windows\IocpDispatcher.cpp"> + RelativePath="qpid\sys\windows\FileSysDir.cpp"> </File> <File RelativePath="qpid\sys\windows\IocpPoller.cpp"> @@ -1834,6 +1837,9 @@ RelativePath="qpid\sys\TimeoutHandler.h"> </File> <File + RelativePath="qpid\sys\Timer.h"> + </File> + <File RelativePath="qpid\sys\uuid.h"> </File> <File Modified: qpid/trunk/qpid/cpp/src/qpid/sys/windows/IocpPoller.cpp URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/cpp/src/qpid/sys/windows/IocpPoller.cpp?rev=734265&r1=734264&r2=734265&view=diff ============================================================================== --- qpid/trunk/qpid/cpp/src/qpid/sys/windows/IocpPoller.cpp (original) +++ qpid/trunk/qpid/cpp/src/qpid/sys/windows/IocpPoller.cpp Tue Jan 13 14:41:08 2009 @@ -105,9 +105,21 @@ } void Poller::run() { - Poller::shared_ptr p(this); - qpid::sys::Dispatcher d(p); - d.run(); + do { + Poller::Event event = this->wait(); + + // Handle shutdown + switch (event.type) { + case Poller::SHUTDOWN: + return; + break; + case Poller::INVALID: // On any type of success or fail completion + break; + default: + // This should be impossible + assert(false); + } + } while (true); } void Poller::addFd(PollerHandle& handle, Direction dir) {