summaryrefslogtreecommitdiff
path: root/cpp/src
diff options
context:
space:
mode:
authorJose <jose@zeroc.com>2018-02-13 16:53:24 +0100
committerJose <jose@zeroc.com>2018-02-13 16:53:24 +0100
commit0561be2a1239c24fffd2b6fc45c146efd4a495c0 (patch)
treed6e90c505081c8465c20566fa8ee14038ce3ee1b /cpp/src
parentFix ICE-8665 - PHP timeout test failure (diff)
downloadice-0561be2a1239c24fffd2b6fc45c146efd4a495c0.tar.bz2
ice-0561be2a1239c24fffd2b6fc45c146efd4a495c0.tar.xz
ice-0561be2a1239c24fffd2b6fc45c146efd4a495c0.zip
Fix ICE-8201 - Add support for per-thread context to UWP
Diffstat (limited to 'cpp/src')
-rw-r--r--cpp/src/Ice/ImplicitContextI.cpp13
-rw-r--r--cpp/src/Ice/Instance.cpp3
2 files changed, 2 insertions, 14 deletions
diff --git a/cpp/src/Ice/ImplicitContextI.cpp b/cpp/src/Ice/ImplicitContextI.cpp
index 7e9785b5d35..59818e5336d 100644
--- a/cpp/src/Ice/ImplicitContextI.cpp
+++ b/cpp/src/Ice/ImplicitContextI.cpp
@@ -39,7 +39,6 @@ private:
IceUtil::Mutex _mutex;
};
-#ifndef ICE_OS_UWP
class PerThreadImplicitContext : public ImplicitContextI
{
public:
@@ -103,7 +102,6 @@ private:
size_t _index; // index in all SlotVector
long _id; // corresponds to owner in the Slot
};
-#endif
}
extern "C" void iceImplicitContextThreadDestructor(void*);
@@ -121,13 +119,7 @@ ImplicitContextI::create(const std::string& kind)
}
else if(kind == "PerThread")
{
-#ifndef ICE_OS_UWP
return ICE_MAKE_SHARED(PerThreadImplicitContext);
-#else
- throw InitializationException(__FILE__, __LINE__,
- "'PerThread' Ice.ImplicitContext isn't supported for UWP.");
- return 0; // Keep the compiler happy.
-#endif
}
else
{
@@ -138,7 +130,7 @@ ImplicitContextI::create(const std::string& kind)
}
}
-#if defined(_WIN32) && !defined(ICE_OS_UWP)
+#if defined(_WIN32)
void
ImplicitContextI::cleanupThread()
{
@@ -259,7 +251,6 @@ SharedImplicitContext::combine(const Context& proxyCtx, Context& ctx) const
//
// PerThreadImplicitContext implementation
//
-#ifndef ICE_OS_UWP
long PerThreadImplicitContext::_nextId;
long PerThreadImplicitContext::_destroyedIds;
size_t PerThreadImplicitContext::_slotVectors;
@@ -668,5 +659,3 @@ extern "C" void iceImplicitContextThreadDestructor(void* v)
}
}
}
-
-#endif
diff --git a/cpp/src/Ice/Instance.cpp b/cpp/src/Ice/Instance.cpp
index 35b8a7bbc28..6213c8f91aa 100644
--- a/cpp/src/Ice/Instance.cpp
+++ b/cpp/src/Ice/Instance.cpp
@@ -1207,10 +1207,9 @@ IceInternal::Instance::Instance(const CommunicatorPtr& communicator, const Initi
//
// Client ACM enabled by default. Server ACM disabled by default.
//
-#ifndef ICE_OS_UWP
const_cast<ImplicitContextIPtr&>(_implicitContext) =
ImplicitContextI::create(_initData.properties->getProperty("Ice.ImplicitContext"));
-#endif
+
_routerManager = new RouterManager;
_locatorManager = new LocatorManager(_initData.properties);