diff options
author | Marc Laukien <marc@zeroc.com> | 2001-12-09 19:54:51 +0000 |
---|---|---|
committer | Marc Laukien <marc@zeroc.com> | 2001-12-09 19:54:51 +0000 |
commit | ff2cdbada1355055b60e36a53d8bdb160abacc0a (patch) | |
tree | ce00902f17e79811f65c149354584e8fed440231 /cpp/src | |
parent | fixes (diff) | |
download | ice-ff2cdbada1355055b60e36a53d8bdb160abacc0a.tar.bz2 ice-ff2cdbada1355055b60e36a53d8bdb160abacc0a.tar.xz ice-ff2cdbada1355055b60e36a53d8bdb160abacc0a.zip |
lots of fixes
Diffstat (limited to 'cpp/src')
-rw-r--r-- | cpp/src/Ice/ThreadPool.cpp | 8 | ||||
-rw-r--r-- | cpp/src/Ice/ThreadPool.h | 3 | ||||
-rw-r--r-- | cpp/src/IceStorm/icestorm.dsp | 4 |
3 files changed, 13 insertions, 2 deletions
diff --git a/cpp/src/Ice/ThreadPool.cpp b/cpp/src/Ice/ThreadPool.cpp index 6c06abedde3..bbe5c2be390 100644 --- a/cpp/src/Ice/ThreadPool.cpp +++ b/cpp/src/Ice/ThreadPool.cpp @@ -160,6 +160,9 @@ IceInternal::ThreadPool::ThreadPool(const InstancePtr& instance) : FD_ZERO(&_fdSet); FD_SET(_fdIntrRead, &_fdSet); +#ifdef WIN32 // Optimization for WIN32 fd_set + _fdIntrReadIdx = _fdSet.fd_count - 1; +#endif _maxFd = _fdIntrRead; _minFd = _fdIntrRead; @@ -310,7 +313,12 @@ IceInternal::ThreadPool::run() } bool interrupt = false; + +#ifdef WIN32 // Optimization for WIN32 fd_set + if (fdSet.fd_array[_fdIntrReadIdx] == static_cast<SOCKET>(_fdIntrRead)) +#else if (FD_ISSET(_fdIntrRead, &fdSet)) +#endif { shutdown = clearInterrupt(); interrupt = true; diff --git a/cpp/src/Ice/ThreadPool.h b/cpp/src/Ice/ThreadPool.h index 40023194af6..bf68fa51127 100644 --- a/cpp/src/Ice/ThreadPool.h +++ b/cpp/src/Ice/ThreadPool.h @@ -58,6 +58,9 @@ private: int _fdIntrRead; int _fdIntrWrite; fd_set _fdSet; +#ifdef WIN32 + int _fdIntrReadIdx; +#endif std::vector<std::pair<int, EventHandlerPtr> > _adds; std::vector<int> _removes; std::map<int, std::pair<EventHandlerPtr, std::list<int>::iterator> > _handlerMap; diff --git a/cpp/src/IceStorm/icestorm.dsp b/cpp/src/IceStorm/icestorm.dsp index f10244e686d..f2875f19c45 100644 --- a/cpp/src/IceStorm/icestorm.dsp +++ b/cpp/src/IceStorm/icestorm.dsp @@ -44,7 +44,7 @@ RSC=rc.exe # PROP Target_Dir ""
# ADD BASE CPP /nologo /MT /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "LIBRARY_EXPORTS" /Yu"stdafx.h" /FD /c
# ADD CPP /nologo /MD /W3 /WX /GR /GX /O2 /I ".." /I "../../include" /D "NDEBUG" /D "_USRDLL" /D "ICE_STORM_API_EXPORTS" /D "WIN32" /D "_CONSOLE" /D "_UNICODE" /YX /FD /c
-# SUBTRACT CPP /Z<none> /Fr
+# SUBTRACT CPP /Fr
# ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /win32
# ADD MTL /nologo /D "NDEBUG" /mktyplib203 /win32
# ADD BASE RSC /l 0x409 /d "NDEBUG"
@@ -54,7 +54,7 @@ BSC32=bscmake.exe # ADD BSC32 /nologo
LINK32=link.exe
# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /dll /machine:I386
-# ADD LINK32 ws2_32.lib jtc.lib /nologo /dll /machine:I386 /out:"Debug/icestorm001.dll" /libpath:"../../../lib"
+# ADD LINK32 ws2_32.lib jtc.lib /nologo /dll /machine:I386 /out:"Release/icestorm001.dll" /libpath:"../../../lib"
# SUBTRACT LINK32 /pdb:none
# Begin Special Build Tool
SOURCE="$(InputPath)"
|