diff options
Diffstat (limited to 'cpp/test/Ice/threadPoolPriority/TestI.cpp')
-rw-r--r-- | cpp/test/Ice/threadPoolPriority/TestI.cpp | 39 |
1 files changed, 39 insertions, 0 deletions
diff --git a/cpp/test/Ice/threadPoolPriority/TestI.cpp b/cpp/test/Ice/threadPoolPriority/TestI.cpp new file mode 100644 index 00000000000..3c6aa91703e --- /dev/null +++ b/cpp/test/Ice/threadPoolPriority/TestI.cpp @@ -0,0 +1,39 @@ +// ********************************************************************** +// +// Copyright (c) 2003-2008 ZeroC, Inc. All rights reserved. +// +// This copy of Ice is licensed to you under the terms described in the +// ICE_LICENSE file included in this distribution. +// +// ********************************************************************** + +#include <Ice/Ice.h> +#include <TestI.h> + +using namespace Test; +using namespace std; + +PriorityI::PriorityI(const Ice::ObjectAdapterPtr& adapter) : + _adapter(adapter) +{ +} + +void +PriorityI::shutdown(const Ice::Current&) +{ + _adapter->getCommunicator()->shutdown(); +} + +int +PriorityI::getPriority(const Ice::Current&) +{ +#ifdef _WIN32 + return GetThreadPriority(GetCurrentThread()); +#else + sched_param param; + int sched_policy; + pthread_t thread = pthread_self(); + pthread_getschedparam(thread, &sched_policy, ¶m); + return param.sched_priority; +#endif +} |