zeroc-ice 3.7.9.1 → 3.7.10

Sign up to get free protection for your applications and to get access to all the features.
Files changed (217) hide show
  1. checksums.yaml +4 -4
  2. data/ext/ice/cpp/include/Ice/Config.h +5 -7
  3. data/ext/ice/cpp/include/Ice/ConsoleUtil.h +1 -1
  4. data/ext/ice/cpp/include/Ice/Ice.h +2 -2
  5. data/ext/ice/cpp/include/Ice/SHA1.h +0 -2
  6. data/ext/ice/cpp/include/IceSSL/IceSSL.h +3 -7
  7. data/ext/ice/cpp/include/IceUtil/Config.h +12 -44
  8. data/ext/ice/cpp/include/IceUtil/ConsoleUtil.h +1 -1
  9. data/ext/ice/cpp/include/IceUtil/FileUtil.h +0 -3
  10. data/ext/ice/cpp/include/IceUtil/IceUtil.h +1 -1
  11. data/ext/ice/cpp/include/IceUtil/Mutex.h +0 -4
  12. data/ext/ice/cpp/include/IceUtil/ResourceConfig.h +5 -21
  13. data/ext/ice/cpp/include/IceUtil/Thread.h +4 -18
  14. data/ext/ice/cpp/include/IceUtil/Timer.h +1 -0
  15. data/ext/ice/cpp/include/generated/Ice/BuiltinSequences.h +2 -2
  16. data/ext/ice/cpp/include/generated/Ice/Communicator.h +2 -2
  17. data/ext/ice/cpp/include/generated/Ice/CommunicatorF.h +2 -2
  18. data/ext/ice/cpp/include/generated/Ice/Connection.h +2 -2
  19. data/ext/ice/cpp/include/generated/Ice/ConnectionF.h +2 -2
  20. data/ext/ice/cpp/include/generated/Ice/Current.h +4 -4
  21. data/ext/ice/cpp/include/generated/Ice/Endpoint.h +2 -2
  22. data/ext/ice/cpp/include/generated/Ice/EndpointF.h +2 -2
  23. data/ext/ice/cpp/include/generated/Ice/EndpointTypes.h +2 -2
  24. data/ext/ice/cpp/include/generated/Ice/FacetMap.h +2 -2
  25. data/ext/ice/cpp/include/generated/Ice/Identity.h +2 -2
  26. data/ext/ice/cpp/include/generated/Ice/ImplicitContext.h +2 -2
  27. data/ext/ice/cpp/include/generated/Ice/ImplicitContextF.h +2 -2
  28. data/ext/ice/cpp/include/generated/Ice/Instrumentation.h +2 -2
  29. data/ext/ice/cpp/include/generated/Ice/InstrumentationF.h +2 -2
  30. data/ext/ice/cpp/include/generated/Ice/LocalException.h +2 -2
  31. data/ext/ice/cpp/include/generated/Ice/Locator.h +2 -2
  32. data/ext/ice/cpp/include/generated/Ice/LocatorF.h +2 -2
  33. data/ext/ice/cpp/include/generated/Ice/Logger.h +2 -2
  34. data/ext/ice/cpp/include/generated/Ice/LoggerF.h +2 -2
  35. data/ext/ice/cpp/include/generated/Ice/Metrics.h +2 -2
  36. data/ext/ice/cpp/include/generated/Ice/ObjectAdapter.h +2 -2
  37. data/ext/ice/cpp/include/generated/Ice/ObjectAdapterF.h +2 -2
  38. data/ext/ice/cpp/include/generated/Ice/ObjectFactory.h +2 -2
  39. data/ext/ice/cpp/include/generated/Ice/Plugin.h +2 -2
  40. data/ext/ice/cpp/include/generated/Ice/PluginF.h +2 -2
  41. data/ext/ice/cpp/include/generated/Ice/Process.h +2 -2
  42. data/ext/ice/cpp/include/generated/Ice/ProcessF.h +2 -2
  43. data/ext/ice/cpp/include/generated/Ice/Properties.h +8 -8
  44. data/ext/ice/cpp/include/generated/Ice/PropertiesAdmin.h +2 -2
  45. data/ext/ice/cpp/include/generated/Ice/PropertiesF.h +2 -2
  46. data/ext/ice/cpp/include/generated/Ice/RemoteLogger.h +2 -2
  47. data/ext/ice/cpp/include/generated/Ice/Router.h +2 -2
  48. data/ext/ice/cpp/include/generated/Ice/RouterF.h +2 -2
  49. data/ext/ice/cpp/include/generated/Ice/ServantLocator.h +2 -2
  50. data/ext/ice/cpp/include/generated/Ice/ServantLocatorF.h +2 -2
  51. data/ext/ice/cpp/include/generated/Ice/SliceChecksumDict.h +2 -2
  52. data/ext/ice/cpp/include/generated/Ice/ValueFactory.h +2 -2
  53. data/ext/ice/cpp/include/generated/Ice/Version.h +2 -2
  54. data/ext/ice/cpp/include/generated/IceSSL/ConnectionInfo.h +2 -2
  55. data/ext/ice/cpp/include/generated/IceSSL/ConnectionInfoF.h +2 -2
  56. data/ext/ice/cpp/include/generated/IceSSL/EndpointInfo.h +2 -2
  57. data/ext/ice/cpp/src/Ice/Acceptor.h +1 -1
  58. data/ext/ice/cpp/src/Ice/BuiltinSequences.cpp +2 -2
  59. data/ext/ice/cpp/src/Ice/Communicator.cpp +2 -2
  60. data/ext/ice/cpp/src/Ice/CommunicatorF.cpp +2 -2
  61. data/ext/ice/cpp/src/Ice/Connection.cpp +2 -2
  62. data/ext/ice/cpp/src/Ice/ConnectionF.cpp +2 -2
  63. data/ext/ice/cpp/src/Ice/ConnectionFactory.cpp +1 -1
  64. data/ext/ice/cpp/src/Ice/ConnectionFactory.h +2 -2
  65. data/ext/ice/cpp/src/Ice/ConnectionI.cpp +5 -5
  66. data/ext/ice/cpp/src/Ice/ConnectionI.h +6 -8
  67. data/ext/ice/cpp/src/Ice/CountDownLatch.cpp +0 -8
  68. data/ext/ice/cpp/src/Ice/Current.cpp +2 -2
  69. data/ext/ice/cpp/src/Ice/DefaultsAndOverrides.cpp +0 -2
  70. data/ext/ice/cpp/src/Ice/DynamicLibrary.cpp +2 -9
  71. data/ext/ice/cpp/src/Ice/Endpoint.cpp +2 -2
  72. data/ext/ice/cpp/src/Ice/EndpointF.cpp +2 -2
  73. data/ext/ice/cpp/src/Ice/EndpointTypes.cpp +2 -2
  74. data/ext/ice/cpp/src/Ice/EventHandler.cpp +1 -1
  75. data/ext/ice/cpp/src/Ice/EventHandler.h +2 -2
  76. data/ext/ice/cpp/src/Ice/Exception.cpp +0 -27
  77. data/ext/ice/cpp/src/Ice/FacetMap.cpp +2 -2
  78. data/ext/ice/cpp/src/Ice/IPEndpointI.cpp +0 -46
  79. data/ext/ice/cpp/src/Ice/IPEndpointI.h +1 -11
  80. data/ext/ice/cpp/src/Ice/Identity.cpp +2 -2
  81. data/ext/ice/cpp/src/Ice/ImplicitContext.cpp +2 -2
  82. data/ext/ice/cpp/src/Ice/ImplicitContextF.cpp +2 -2
  83. data/ext/ice/cpp/src/Ice/Instance.cpp +2 -6
  84. data/ext/ice/cpp/src/Ice/Instrumentation.cpp +2 -2
  85. data/ext/ice/cpp/src/Ice/InstrumentationF.cpp +2 -2
  86. data/ext/ice/cpp/src/Ice/LocalException.cpp +2 -2
  87. data/ext/ice/cpp/src/Ice/Locator.cpp +2 -2
  88. data/ext/ice/cpp/src/Ice/LocatorF.cpp +2 -2
  89. data/ext/ice/cpp/src/Ice/Logger.cpp +2 -2
  90. data/ext/ice/cpp/src/Ice/LoggerF.cpp +2 -2
  91. data/ext/ice/cpp/src/Ice/LoggerI.cpp +1 -3
  92. data/ext/ice/cpp/src/Ice/Metrics.cpp +2 -2
  93. data/ext/ice/cpp/src/Ice/Network.cpp +15 -841
  94. data/ext/ice/cpp/src/Ice/Network.h +4 -86
  95. data/ext/ice/cpp/src/Ice/NetworkF.h +0 -4
  96. data/ext/ice/cpp/src/Ice/NetworkProxy.cpp +0 -13
  97. data/ext/ice/cpp/src/Ice/ObjectAdapter.cpp +2 -2
  98. data/ext/ice/cpp/src/Ice/ObjectAdapterF.cpp +2 -2
  99. data/ext/ice/cpp/src/Ice/ObjectFactory.cpp +2 -2
  100. data/ext/ice/cpp/src/Ice/Plugin.cpp +2 -2
  101. data/ext/ice/cpp/src/Ice/PluginF.cpp +2 -2
  102. data/ext/ice/cpp/src/Ice/Process.cpp +2 -2
  103. data/ext/ice/cpp/src/Ice/ProcessF.cpp +2 -2
  104. data/ext/ice/cpp/src/Ice/Properties.cpp +2 -2
  105. data/ext/ice/cpp/src/Ice/PropertiesAdmin.cpp +2 -2
  106. data/ext/ice/cpp/src/Ice/PropertiesF.cpp +2 -2
  107. data/ext/ice/cpp/src/Ice/PropertiesI.cpp +4 -12
  108. data/ext/ice/cpp/src/Ice/RemoteLogger.cpp +2 -2
  109. data/ext/ice/cpp/src/Ice/Router.cpp +2 -2
  110. data/ext/ice/cpp/src/Ice/RouterF.cpp +2 -2
  111. data/ext/ice/cpp/src/Ice/SHA1.cpp +27 -43
  112. data/ext/ice/cpp/src/Ice/Selector.cpp +1 -13
  113. data/ext/ice/cpp/src/Ice/Selector.h +1 -17
  114. data/ext/ice/cpp/src/Ice/ServantLocator.cpp +2 -2
  115. data/ext/ice/cpp/src/Ice/ServantLocatorF.cpp +2 -2
  116. data/ext/ice/cpp/src/Ice/SliceChecksumDict.cpp +2 -2
  117. data/ext/ice/cpp/src/Ice/StreamSocket.cpp +4 -167
  118. data/ext/ice/cpp/src/Ice/StreamSocket.h +3 -10
  119. data/ext/ice/cpp/src/Ice/TcpAcceptor.cpp +0 -121
  120. data/ext/ice/cpp/src/Ice/TcpAcceptor.h +2 -10
  121. data/ext/ice/cpp/src/Ice/TcpTransceiver.cpp +1 -1
  122. data/ext/ice/cpp/src/Ice/TcpTransceiver.h +1 -1
  123. data/ext/ice/cpp/src/Ice/Thread.cpp +1 -243
  124. data/ext/ice/cpp/src/Ice/ThreadPool.cpp +15 -51
  125. data/ext/ice/cpp/src/Ice/ThreadPool.h +6 -6
  126. data/ext/ice/cpp/src/Ice/Transceiver.h +1 -1
  127. data/ext/ice/cpp/src/Ice/UdpConnector.cpp +0 -5
  128. data/ext/ice/cpp/src/Ice/UdpTransceiver.cpp +13 -360
  129. data/ext/ice/cpp/src/Ice/UdpTransceiver.h +2 -23
  130. data/ext/ice/cpp/src/Ice/ValueFactory.cpp +2 -2
  131. data/ext/ice/cpp/src/Ice/Version.cpp +2 -2
  132. data/ext/ice/cpp/src/Ice/WSAcceptor.cpp +2 -2
  133. data/ext/ice/cpp/src/Ice/WSAcceptor.h +2 -2
  134. data/ext/ice/cpp/src/Ice/WSTransceiver.cpp +2 -45
  135. data/ext/ice/cpp/src/Ice/WSTransceiver.h +2 -2
  136. data/ext/ice/cpp/src/IceDiscovery/IceDiscovery.cpp +2 -2
  137. data/ext/ice/cpp/src/IceDiscovery/IceDiscovery.h +2 -2
  138. data/ext/ice/cpp/src/IceLocatorDiscovery/IceLocatorDiscovery.cpp +2 -2
  139. data/ext/ice/cpp/src/IceLocatorDiscovery/IceLocatorDiscovery.h +2 -2
  140. data/ext/ice/cpp/src/IceSSL/AcceptorI.cpp +2 -2
  141. data/ext/ice/cpp/src/IceSSL/AcceptorI.h +2 -2
  142. data/ext/ice/cpp/src/IceSSL/ConnectionInfo.cpp +2 -2
  143. data/ext/ice/cpp/src/IceSSL/ConnectionInfoF.cpp +2 -2
  144. data/ext/ice/cpp/src/IceSSL/EndpointInfo.cpp +2 -2
  145. data/ext/ice/cpp/src/IceSSL/Util.cpp +1 -1
  146. data/ext/ice/cpp/src/IceUtil/ConsoleUtil.cpp +1 -1
  147. data/ext/ice/cpp/src/IceUtil/FileUtil.cpp +4 -17
  148. data/ext/ice/cpp/src/IceUtil/RecMutex.cpp +0 -4
  149. data/ext/ice/cpp/src/IceUtil/StringUtil.cpp +0 -45
  150. data/ext/ice/cpp/src/IceUtil/UUID.cpp +2 -6
  151. data/ext/ice/cpp/src/IceUtil/UtilException.cpp +1 -1
  152. data/ext/ice/cpp/src/Slice/JavaUtil.cpp +22 -0
  153. data/ext/ice/cpp/src/Slice/JavaUtil.h +9 -0
  154. data/ext/ice/mcpp/system.c +0 -4
  155. data/ice.gemspec +1 -1
  156. data/lib/Glacier2/Metrics.rb +1 -1
  157. data/lib/Glacier2/PermissionsVerifier.rb +1 -1
  158. data/lib/Glacier2/PermissionsVerifierF.rb +1 -1
  159. data/lib/Glacier2/Router.rb +1 -1
  160. data/lib/Glacier2/RouterF.rb +1 -1
  161. data/lib/Glacier2/SSLInfo.rb +1 -1
  162. data/lib/Glacier2/Session.rb +1 -1
  163. data/lib/Ice/BuiltinSequences.rb +1 -1
  164. data/lib/Ice/Communicator.rb +1 -1
  165. data/lib/Ice/CommunicatorF.rb +1 -1
  166. data/lib/Ice/Connection.rb +1 -1
  167. data/lib/Ice/ConnectionF.rb +1 -1
  168. data/lib/Ice/Current.rb +1 -1
  169. data/lib/Ice/Endpoint.rb +1 -1
  170. data/lib/Ice/EndpointF.rb +1 -1
  171. data/lib/Ice/EndpointTypes.rb +1 -1
  172. data/lib/Ice/FacetMap.rb +1 -1
  173. data/lib/Ice/Identity.rb +1 -1
  174. data/lib/Ice/ImplicitContext.rb +1 -1
  175. data/lib/Ice/ImplicitContextF.rb +1 -1
  176. data/lib/Ice/Instrumentation.rb +1 -1
  177. data/lib/Ice/InstrumentationF.rb +1 -1
  178. data/lib/Ice/LocalException.rb +1 -1
  179. data/lib/Ice/Locator.rb +1 -1
  180. data/lib/Ice/LocatorF.rb +1 -1
  181. data/lib/Ice/Logger.rb +1 -1
  182. data/lib/Ice/LoggerF.rb +1 -1
  183. data/lib/Ice/Metrics.rb +1 -1
  184. data/lib/Ice/ObjectAdapter.rb +1 -1
  185. data/lib/Ice/ObjectAdapterF.rb +1 -1
  186. data/lib/Ice/ObjectFactory.rb +1 -1
  187. data/lib/Ice/Plugin.rb +1 -1
  188. data/lib/Ice/PluginF.rb +1 -1
  189. data/lib/Ice/Process.rb +1 -1
  190. data/lib/Ice/ProcessF.rb +1 -1
  191. data/lib/Ice/Properties.rb +1 -1
  192. data/lib/Ice/PropertiesAdmin.rb +1 -1
  193. data/lib/Ice/PropertiesF.rb +1 -1
  194. data/lib/Ice/RemoteLogger.rb +1 -1
  195. data/lib/Ice/Router.rb +1 -1
  196. data/lib/Ice/RouterF.rb +1 -1
  197. data/lib/Ice/ServantLocator.rb +1 -1
  198. data/lib/Ice/ServantLocatorF.rb +1 -1
  199. data/lib/Ice/SliceChecksumDict.rb +1 -1
  200. data/lib/Ice/ValueFactory.rb +1 -1
  201. data/lib/Ice/Version.rb +1 -1
  202. data/lib/IceBox/IceBox.rb +1 -1
  203. data/lib/IceGrid/Admin.rb +1 -1
  204. data/lib/IceGrid/Descriptor.rb +1 -1
  205. data/lib/IceGrid/Exception.rb +1 -1
  206. data/lib/IceGrid/FileParser.rb +1 -1
  207. data/lib/IceGrid/PluginFacade.rb +1 -1
  208. data/lib/IceGrid/Registry.rb +1 -1
  209. data/lib/IceGrid/Session.rb +1 -1
  210. data/lib/IceGrid/UserAccountMapper.rb +1 -1
  211. data/lib/IcePatch2/FileInfo.rb +1 -1
  212. data/lib/IcePatch2/FileServer.rb +1 -1
  213. data/lib/IceStorm/IceStorm.rb +1 -1
  214. data/lib/IceStorm/Metrics.rb +1 -1
  215. data/slice/Ice/Current.ice +1 -1
  216. data/slice/Ice/Properties.ice +3 -3
  217. metadata +3 -3
@@ -18,10 +18,6 @@
18
18
  #include <climits>
19
19
  #include <exception>
20
20
 
21
- #ifdef ICE_OS_UWP
22
- # include <thread>
23
- #endif
24
-
25
21
  #ifndef _WIN32
26
22
  #include <sys/time.h>
27
23
  #include <sys/resource.h>
@@ -30,245 +26,7 @@
30
26
  using namespace std;
31
27
  using namespace IceInternal;
32
28
 
33
- #ifdef ICE_OS_UWP
34
-
35
- IceUtil::ThreadControl::ThreadControl() :
36
- _id(this_thread::get_id())
37
- {
38
- }
39
-
40
- IceUtil::ThreadControl::ThreadControl(const shared_ptr<thread>& thread) :
41
- _thread(thread),
42
- _id(_thread->get_id())
43
- {
44
- }
45
-
46
- bool
47
- IceUtil::ThreadControl::operator==(const ThreadControl& rhs) const
48
- {
49
- return id() == rhs.id();
50
- }
51
-
52
- bool
53
- IceUtil::ThreadControl::operator!=(const ThreadControl& rhs) const
54
- {
55
- return id() != rhs.id();
56
- }
57
-
58
- void
59
- IceUtil::ThreadControl::join()
60
- {
61
- if(!_thread)
62
- {
63
- throw BadThreadControlException(__FILE__, __LINE__);
64
- }
65
-
66
- try
67
- {
68
- _thread->join();
69
- }
70
- catch(const system_error& ex)
71
- {
72
- throw ThreadSyscallException(__FILE__, __LINE__, ex.code().value());
73
- }
74
- }
75
-
76
- void
77
- IceUtil::ThreadControl::detach()
78
- {
79
- if(!_thread)
80
- {
81
- throw BadThreadControlException(__FILE__, __LINE__);
82
- }
83
-
84
- try
85
- {
86
- _thread->detach();
87
- }
88
- catch(const system_error& ex)
89
- {
90
- throw ThreadSyscallException(__FILE__, __LINE__, ex.code().value());
91
- }
92
- }
93
-
94
- IceUtil::ThreadControl::ID
95
- IceUtil::ThreadControl::id() const
96
- {
97
- return _id;
98
- }
99
-
100
- void
101
- IceUtil::ThreadControl::sleep(const Time& timeout)
102
- {
103
- IceUtil::Int64 msTimeout = timeout.toMilliSeconds();
104
- if(msTimeout < 0 || msTimeout > 0x7FFFFFFF)
105
- {
106
- throw IceUtil::InvalidTimeoutException(__FILE__, __LINE__, timeout);
107
- }
108
- this_thread::sleep_for(chrono::microseconds(timeout.toMicroSeconds()));
109
- }
110
-
111
- void
112
- IceUtil::ThreadControl::yield()
113
- {
114
- this_thread::yield();
115
- }
116
-
117
- IceUtil::Thread::Thread() :
118
- _started(false),
119
- _running(false)
120
- {
121
- }
122
-
123
- IceUtil::Thread::Thread(const string& name) :
124
- _name(name),
125
- _started(false),
126
- _running(false)
127
- {
128
- }
129
-
130
- IceUtil::Thread::~Thread()
131
- {
132
- }
133
-
134
- static unsigned int
135
- WINAPI startHook(void* arg)
136
- {
137
- // Ensure that the thread doesn't go away until run() has
138
- // completed.
139
- //
140
- IceUtil::ThreadPtr thread;
141
-
142
- try
143
- {
144
- IceUtil::Thread* rawThread = static_cast<IceUtil::Thread*>(arg);
145
-
146
- //
147
- // Ensure that the thread doesn't go away until run() has
148
- // completed.
149
- //
150
- thread = rawThread;
151
-
152
- //
153
- // Initialize the random number generator in each thread on
154
- // Windows (the rand() seed is thread specific).
155
- //
156
- unsigned int seed = static_cast<unsigned int>(IceUtil::Time::now().toMicroSeconds());
157
- srand(seed ^ static_cast<unsigned int>(hash<thread::id>()(thread->getThreadControl().id())));
158
-
159
- //
160
- // See the comment in IceUtil::Thread::start() for details.
161
- //
162
- rawThread->__decRef();
163
- thread->run();
164
- }
165
- catch(...)
166
- {
167
- if(!thread->name().empty())
168
- {
169
- consoleErr << thread->name() << " terminating" << endl;
170
- }
171
- std::terminate();
172
- }
173
-
174
- thread->_done();
175
-
176
- return 0;
177
- }
178
-
179
- #include <process.h>
180
-
181
- IceUtil::ThreadControl
182
- IceUtil::Thread::start(size_t)
183
- {
184
- return start(0, 0);
185
- }
186
-
187
- IceUtil::ThreadControl
188
- IceUtil::Thread::start(size_t, int)
189
- {
190
- //
191
- // Keep this alive for the duration of start
192
- //
193
- IceUtil::ThreadPtr keepMe = this;
194
-
195
- IceUtil::Mutex::Lock lock(_stateMutex);
196
-
197
- if(_started)
198
- {
199
- throw ThreadStartedException(__FILE__, __LINE__);
200
- }
201
-
202
- //
203
- // It's necessary to increment the reference count since the
204
- // thread constructor won't necessarily call the thread function until
205
- // later. If the user does (new MyThread)->start() then the thread
206
- // object could be deleted before the thread object takes
207
- // ownership. It's also necessary to increment the reference count
208
- // prior to calling the thread constructor since the thread start hook
209
- // itself calls __decRef().
210
- //
211
- try
212
- {
213
- __incRef();
214
- _thread.reset(new thread(startHook, this));
215
- }
216
- catch(const std::system_error&)
217
- {
218
- __decRef();
219
- throw;
220
- }
221
-
222
- _started = true;
223
- _running = true;
224
-
225
- return ThreadControl(_thread);
226
- }
227
-
228
- IceUtil::ThreadControl
229
- IceUtil::Thread::getThreadControl() const
230
- {
231
- IceUtil::Mutex::Lock lock(_stateMutex);
232
- if(!_started)
233
- {
234
- throw ThreadNotStartedException(__FILE__, __LINE__);
235
- }
236
- return ThreadControl(_thread);
237
- }
238
-
239
- bool
240
- IceUtil::Thread::operator==(const Thread& rhs) const
241
- {
242
- return this == &rhs;
243
- }
244
-
245
- bool
246
- IceUtil::Thread::operator<(const Thread& rhs) const
247
- {
248
- return this < &rhs;
249
- }
250
-
251
- bool
252
- IceUtil::Thread::isAlive() const
253
- {
254
- IceUtil::Mutex::Lock lock(_stateMutex);
255
- return _running;
256
- }
257
-
258
- void
259
- IceUtil::Thread::_done()
260
- {
261
- IceUtil::Mutex::Lock lock(_stateMutex);
262
- _running = false;
263
- }
264
-
265
- const string&
266
- IceUtil::Thread::name() const
267
- {
268
- return _name;
269
- }
270
-
271
- #elif defined(_WIN32)
29
+ #if defined(_WIN32)
272
30
 
273
31
  IceUtil::ThreadControl::ThreadControl() :
274
32
  _handle(0),
@@ -13,10 +13,6 @@
13
13
  #include <Ice/Properties.h>
14
14
  #include <Ice/TraceLevels.h>
15
15
 
16
- #if defined(ICE_OS_UWP)
17
- # include <Ice/StringConverter.h>
18
- #endif
19
-
20
16
  #if defined(__FreeBSD__)
21
17
  # include <sys/sysctl.h>
22
18
  #endif
@@ -177,7 +173,7 @@ IceInternal::ThreadPoolWorkQueue::destroy()
177
173
  //Lock sync(*this); Called with the thread pool locked
178
174
  assert(!_destroyed);
179
175
  _destroyed = true;
180
- #if defined(ICE_USE_IOCP) || defined(ICE_OS_UWP)
176
+ #if defined(ICE_USE_IOCP)
181
177
  _threadPool._selector.completed(this, SocketOperationRead);
182
178
  #else
183
179
  _threadPool._selector.ready(this, SocketOperationRead, true);
@@ -189,7 +185,7 @@ IceInternal::ThreadPoolWorkQueue::queue(const ThreadPoolWorkItemPtr& item)
189
185
  {
190
186
  //Lock sync(*this); Called with the thread pool locked
191
187
  _workItems.push_back(item);
192
- #if defined(ICE_USE_IOCP) || defined(ICE_OS_UWP)
188
+ #if defined(ICE_USE_IOCP)
193
189
  _threadPool._selector.completed(this, SocketOperationRead);
194
190
  #else
195
191
  if(_workItems.size() == 1)
@@ -199,7 +195,7 @@ IceInternal::ThreadPoolWorkQueue::queue(const ThreadPoolWorkItemPtr& item)
199
195
  #endif
200
196
  }
201
197
 
202
- #if defined(ICE_USE_IOCP) || defined(ICE_OS_UWP)
198
+ #if defined(ICE_USE_IOCP)
203
199
  bool
204
200
  IceInternal::ThreadPoolWorkQueue::startAsync(SocketOperation)
205
201
  {
@@ -226,7 +222,7 @@ IceInternal::ThreadPoolWorkQueue::message(ThreadPoolCurrent& current)
226
222
  workItem = _workItems.front();
227
223
  _workItems.pop_front();
228
224
  }
229
- #if defined(ICE_USE_IOCP) || defined(ICE_OS_UWP)
225
+ #if defined(ICE_USE_IOCP)
230
226
  else
231
227
  {
232
228
  assert(_destroyed);
@@ -293,19 +289,18 @@ IceInternal::ThreadPool::ThreadPool(const InstancePtr& instance, const string& p
293
289
  _threadIdleTime(0),
294
290
  _stackSize(0),
295
291
  _inUse(0),
296
- #if !defined(ICE_USE_IOCP) && !defined(ICE_OS_UWP)
292
+ #if !defined(ICE_USE_IOCP)
297
293
  _inUseIO(0),
298
294
  _nextHandler(_handlers.end()),
299
295
  #endif
300
296
  _promote(true)
301
297
  {
302
298
  PropertiesPtr properties = _instance->initializationData().properties;
303
- #ifndef ICE_OS_UWP
304
- # ifdef _WIN32
299
+ #ifdef _WIN32
305
300
  SYSTEM_INFO sysInfo;
306
301
  GetSystemInfo(&sysInfo);
307
302
  int nProcessors = sysInfo.dwNumberOfProcessors;
308
- # elif defined(__FreeBSD__) || defined(__FreeBSD_kernel__)
303
+ #elif defined(__FreeBSD__) || defined(__FreeBSD_kernel__)
309
304
  static int ncpu[2] = { CTL_HW, HW_NCPU };
310
305
  int nProcessors;
311
306
  size_t sz = sizeof(nProcessors);
@@ -313,13 +308,12 @@ IceInternal::ThreadPool::ThreadPool(const InstancePtr& instance, const string& p
313
308
  {
314
309
  nProcessors = 1;
315
310
  }
316
- # else
311
+ #else
317
312
  int nProcessors = static_cast<int>(sysconf(_SC_NPROCESSORS_ONLN));
318
313
  if(nProcessors == -1)
319
314
  {
320
315
  nProcessors = 1;
321
316
  }
322
- # endif
323
317
  #endif
324
318
 
325
319
  //
@@ -336,12 +330,11 @@ IceInternal::ThreadPool::ThreadPool(const InstancePtr& instance, const string& p
336
330
  }
337
331
 
338
332
  int sizeMax = properties->getPropertyAsIntWithDefault(_prefix + ".SizeMax", size);
339
- #ifndef ICE_OS_UWP
340
333
  if(sizeMax == -1)
341
334
  {
342
335
  sizeMax = nProcessors;
343
336
  }
344
- #endif
337
+
345
338
  if(sizeMax < size)
346
339
  {
347
340
  Warning out(_instance->initializationData().logger);
@@ -374,11 +367,7 @@ IceInternal::ThreadPool::ThreadPool(const InstancePtr& instance, const string& p
374
367
  const_cast<int&>(_size) = size;
375
368
  const_cast<int&>(_sizeMax) = sizeMax;
376
369
  const_cast<int&>(_sizeWarn) = sizeWarn;
377
- #ifndef ICE_OS_UWP
378
370
  const_cast<int&>(_sizeIO) = min(sizeMax, nProcessors);
379
- #else
380
- const_cast<int&>(_sizeIO) = sizeMax;
381
- #endif
382
371
  const_cast<int&>(_threadIdleTime) = threadIdleTime;
383
372
 
384
373
  #ifdef ICE_USE_IOCP
@@ -543,7 +532,7 @@ IceInternal::ThreadPool::finish(const EventHandlerPtr& handler, bool closeNow)
543
532
  {
544
533
  Lock sync(*this);
545
534
  assert(!_destroyed);
546
- #if !defined(ICE_USE_IOCP) && !defined(ICE_OS_UWP)
535
+ #if !defined(ICE_USE_IOCP)
547
536
  closeNow = _selector.finish(handler.get(), closeNow); // This must be called before!
548
537
  _workQueue->queue(new FinishedWorkItem(handler, !closeNow));
549
538
  return closeNow;
@@ -670,7 +659,7 @@ IceInternal::ThreadPool::getDispatchQueue() const ICE_NOEXCEPT
670
659
  void
671
660
  IceInternal::ThreadPool::run(const EventHandlerThreadPtr& thread)
672
661
  {
673
- #if !defined(ICE_USE_IOCP) && !defined(ICE_OS_UWP)
662
+ #if !defined(ICE_USE_IOCP)
674
663
  ThreadPoolCurrent current(_instance, this, thread);
675
664
  bool select = false;
676
665
  while(true)
@@ -824,12 +813,8 @@ IceInternal::ThreadPool::run(const EventHandlerThreadPtr& thread)
824
813
  try
825
814
  {
826
815
  current._ioCompleted = false;
827
- #ifdef ICE_OS_UWP
828
- current._handler = ICE_GET_SHARED_FROM_THIS(_selector.getNextHandler(current.operation, _threadIdleTime));
829
- #else
830
816
  current._handler = ICE_GET_SHARED_FROM_THIS(_selector.getNextHandler(current.operation, current._count,
831
817
  current._error, _threadIdleTime));
832
- #endif
833
818
  }
834
819
  catch(const SelectorTimeoutException&)
835
820
  {
@@ -843,14 +828,13 @@ IceInternal::ThreadPool::run(const EventHandlerThreadPtr& thread)
843
828
  }
844
829
  else if(_inUse < static_cast<int>(_threads.size() - 1)) // If not the last idle thread, we can exit.
845
830
  {
846
- #ifndef ICE_OS_UWP
847
831
  BOOL hasIO = false;
848
832
  GetThreadIOPendingFlag(GetCurrentThread(), &hasIO);
849
833
  if(hasIO)
850
834
  {
851
835
  continue;
852
836
  }
853
- #endif
837
+
854
838
  if(_instance->traceLevels()->threadPool >= 1)
855
839
  {
856
840
  Trace out(_instance->initializationData().logger, _instance->traceLevels()->threadPoolCat);
@@ -874,13 +858,8 @@ IceInternal::ThreadPool::run(const EventHandlerThreadPtr& thread)
874
858
 
875
859
  try
876
860
  {
877
- #ifdef ICE_OS_UWP
878
- current._handler = ICE_GET_SHARED_FROM_THIS(_selector.getNextHandler(current.operation, _serverIdleTime));
879
- #else
880
-
881
861
  current._handler = ICE_GET_SHARED_FROM_THIS(_selector.getNextHandler(current.operation, current._count,
882
862
  current._error, _serverIdleTime));
883
- #endif
884
863
  }
885
864
  catch(const SelectorTimeoutException&)
886
865
  {
@@ -912,19 +891,6 @@ IceInternal::ThreadPool::run(const EventHandlerThreadPtr& thread)
912
891
  Error out(_instance->initializationData().logger);
913
892
  out << "exception in `" << _prefix << "':\n" << ex << "\nevent handler: " << current._handler->toString();
914
893
  }
915
- #ifdef ICE_OS_UWP
916
- catch(Platform::Exception^ ex)
917
- {
918
- //
919
- // We don't need to pass the wide string converter in the call to wstringToString
920
- // because the wide string is using the platform default encoding.
921
- //
922
- Error out(_instance->initializationData().logger);
923
- out << "exception in `" << _prefix << "':\n"
924
- << wstringToString(ex->Message->Data(), _instance->getStringConverter())
925
- << "\nevent handler: " << current._handler->toString();
926
- }
927
- #endif
928
894
  catch(...)
929
895
  {
930
896
  Error out(_instance->initializationData().logger);
@@ -956,7 +922,7 @@ IceInternal::ThreadPool::ioCompleted(ThreadPoolCurrent& current)
956
922
  if(_sizeMax > 1)
957
923
  {
958
924
 
959
- #if !defined(ICE_USE_IOCP) && !defined(ICE_OS_UWP)
925
+ #if !defined(ICE_USE_IOCP)
960
926
  --_inUseIO;
961
927
 
962
928
  if(!_destroyed)
@@ -1026,7 +992,7 @@ IceInternal::ThreadPool::ioCompleted(ThreadPoolCurrent& current)
1026
992
  return _serialize && current._handler.get() != _workQueue.get();
1027
993
  }
1028
994
 
1029
- #if defined(ICE_USE_IOCP) || defined(ICE_OS_UWP)
995
+ #if defined(ICE_USE_IOCP)
1030
996
  bool
1031
997
  IceInternal::ThreadPool::startMessage(ThreadPoolCurrent& current)
1032
998
  {
@@ -1038,11 +1004,9 @@ IceInternal::ThreadPool::startMessage(ThreadPoolCurrent& current)
1038
1004
  current._handler->_completed = static_cast<SocketOperation>(current._handler->_completed | current.operation);
1039
1005
  current._handler->_started = static_cast<SocketOperation>(current._handler->_started & ~current.operation);
1040
1006
 
1041
- #ifndef ICE_OS_UWP
1042
1007
  AsyncInfo* info = current._handler->getNativeInfo()->getAsyncInfo(current.operation);
1043
1008
  info->count = current._count;
1044
1009
  info->error = current._error;
1045
- #endif
1046
1010
 
1047
1011
  if(!current._handler->finishAsync(current.operation)) // Returns false if the handler is finished.
1048
1012
  {
@@ -1321,7 +1285,7 @@ ThreadPoolCurrent::ThreadPoolCurrent(const InstancePtr& instance,
1321
1285
  _threadPool(threadPool.get()),
1322
1286
  _thread(thread),
1323
1287
  _ioCompleted(false)
1324
- #if !defined(ICE_USE_IOCP) && !defined(ICE_OS_UWP)
1288
+ #if !defined(ICE_USE_IOCP)
1325
1289
  , _leader(false)
1326
1290
  #endif
1327
1291
  {
@@ -120,7 +120,7 @@ private:
120
120
 
121
121
  bool ioCompleted(ThreadPoolCurrent&);
122
122
 
123
- #if defined(ICE_USE_IOCP) || defined(ICE_OS_UWP)
123
+ #if defined(ICE_USE_IOCP)
124
124
  bool startMessage(ThreadPoolCurrent&);
125
125
  void finishMessage(ThreadPoolCurrent&);
126
126
  #else
@@ -163,7 +163,7 @@ private:
163
163
 
164
164
  std::set<EventHandlerThreadPtr> _threads; // All threads, running or not.
165
165
  int _inUse; // Number of threads that are currently in use.
166
- #if !defined(ICE_USE_IOCP) && !defined(ICE_OS_UWP)
166
+ #if !defined(ICE_USE_IOCP)
167
167
  int _inUseIO; // Number of threads that are currently performing IO.
168
168
  std::vector<std::pair<EventHandler*, SocketOperation> > _handlers;
169
169
  std::vector<std::pair<EventHandler*, SocketOperation> >::const_iterator _nextHandler;
@@ -186,7 +186,7 @@ public:
186
186
  return _threadPool->ioCompleted(const_cast<ThreadPoolCurrent&>(*this));
187
187
  }
188
188
 
189
- #if defined(ICE_USE_IOCP) || defined(ICE_OS_UWP)
189
+ #if defined(ICE_USE_IOCP)
190
190
  bool startMessage()
191
191
  {
192
192
  return _threadPool->startMessage(const_cast<ThreadPoolCurrent&>(*this));
@@ -214,7 +214,7 @@ private:
214
214
  ThreadPool::EventHandlerThreadPtr _thread;
215
215
  EventHandlerPtr _handler;
216
216
  bool _ioCompleted;
217
- #if !defined(ICE_USE_IOCP) && !defined(ICE_OS_UWP)
217
+ #if !defined(ICE_USE_IOCP)
218
218
  bool _leader;
219
219
  #else
220
220
  DWORD _count;
@@ -232,7 +232,7 @@ public:
232
232
  void destroy();
233
233
  void queue(const ThreadPoolWorkItemPtr&);
234
234
 
235
- #if defined(ICE_USE_IOCP) || defined(ICE_OS_UWP)
235
+ #if defined(ICE_USE_IOCP)
236
236
  bool startAsync(SocketOperation);
237
237
  bool finishAsync(SocketOperation);
238
238
  #endif
@@ -259,7 +259,7 @@ private:
259
259
  // the IOCP implementation and ensures that finishMessage isn't called multiple
260
260
  // times.
261
261
  //
262
- #if !defined(ICE_USE_IOCP) && !defined(ICE_OS_UWP)
262
+ #if !defined(ICE_USE_IOCP)
263
263
  template<class T> class ThreadPoolMessage
264
264
  {
265
265
  public:
@@ -29,7 +29,7 @@ public:
29
29
  virtual EndpointIPtr bind();
30
30
  virtual SocketOperation write(Buffer&) = 0;
31
31
  virtual SocketOperation read(Buffer&) = 0;
32
- #if defined(ICE_USE_IOCP) || defined(ICE_OS_UWP)
32
+ #if defined(ICE_USE_IOCP)
33
33
  virtual bool startWrite(Buffer&) = 0;
34
34
  virtual void finishWrite(Buffer&) = 0;
35
35
  virtual void startRead(Buffer&) = 0;
@@ -119,16 +119,11 @@ IceInternal::UdpConnector::UdpConnector(const ProtocolInstancePtr& instance, con
119
119
  const std::string& connectionId) :
120
120
  _instance(instance),
121
121
  _addr(addr),
122
- #ifndef ICE_OS_UWP
123
122
  _sourceAddr(sourceAddr),
124
- #endif
125
123
  _mcastInterface(mcastInterface),
126
124
  _mcastTtl(mcastTtl),
127
125
  _connectionId(connectionId)
128
126
  {
129
- #ifdef ICE_OS_UWP
130
- UNREFERENCED_PARAMETER(sourceAddr);
131
- #endif
132
127
  }
133
128
 
134
129
  IceInternal::UdpConnector::~UdpConnector()