You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@qpid.apache.org by sh...@apache.org on 2009/01/13 23:41:09 UTC
svn commit: r734265 - in /qpid/trunk/qpid/cpp/src: Makefile.am common.vcproj
qpid/sys/windows/IocpDispatcher.cpp qpid/sys/windows/IocpPoller.cpp
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) {