Move SetThreadPriority implementation to util.cpp instead of the header
Put the THREAD_* and PRIO_ constants in compat.h.
This commit is contained in:
parent
f780e65ac6
commit
610a8c0759
3 changed files with 25 additions and 28 deletions
11
src/compat.h
11
src/compat.h
|
@ -59,4 +59,15 @@ typedef u_int SOCKET;
|
|||
#define SOCKET_ERROR -1
|
||||
#endif
|
||||
|
||||
#ifndef WIN32
|
||||
// PRIO_MAX is not defined on Solaris
|
||||
#ifndef PRIO_MAX
|
||||
#define PRIO_MAX 20
|
||||
#endif
|
||||
#define THREAD_PRIORITY_LOWEST PRIO_MAX
|
||||
#define THREAD_PRIORITY_BELOW_NORMAL 2
|
||||
#define THREAD_PRIORITY_NORMAL 0
|
||||
#define THREAD_PRIORITY_ABOVE_NORMAL (-2)
|
||||
#endif
|
||||
|
||||
#endif // _BITCOIN_COMPAT_H
|
||||
|
|
13
src/util.cpp
13
src/util.cpp
|
@ -1286,3 +1286,16 @@ std::string FormatParagraph(const std::string in, size_t width, size_t indent)
|
|||
}
|
||||
return out.str();
|
||||
}
|
||||
|
||||
void SetThreadPriority(int nPriority)
|
||||
{
|
||||
#ifdef WIN32
|
||||
SetThreadPriority(GetCurrentThread(), nPriority);
|
||||
#else // WIN32
|
||||
#ifdef PRIO_THREAD
|
||||
setpriority(PRIO_THREAD, 0, nPriority);
|
||||
#else // PRIO_THREAD
|
||||
setpriority(PRIO_PROCESS, 0, nPriority);
|
||||
#endif // PRIO_THREAD
|
||||
#endif // WIN32
|
||||
}
|
||||
|
|
29
src/util.h
29
src/util.h
|
@ -342,34 +342,7 @@ bool TimingResistantEqual(const T& a, const T& b)
|
|||
return accumulator == 0;
|
||||
}
|
||||
|
||||
#ifdef WIN32
|
||||
inline void SetThreadPriority(int nPriority)
|
||||
{
|
||||
SetThreadPriority(GetCurrentThread(), nPriority);
|
||||
}
|
||||
#else
|
||||
|
||||
// PRIO_MAX is not defined on Solaris
|
||||
#ifndef PRIO_MAX
|
||||
#define PRIO_MAX 20
|
||||
#endif
|
||||
#define THREAD_PRIORITY_LOWEST PRIO_MAX
|
||||
#define THREAD_PRIORITY_BELOW_NORMAL 2
|
||||
#define THREAD_PRIORITY_NORMAL 0
|
||||
#define THREAD_PRIORITY_ABOVE_NORMAL (-2)
|
||||
|
||||
inline void SetThreadPriority(int nPriority)
|
||||
{
|
||||
// It's unclear if it's even possible to change thread priorities on Linux,
|
||||
// but we really and truly need it for the generation threads.
|
||||
#ifdef PRIO_THREAD
|
||||
setpriority(PRIO_THREAD, 0, nPriority);
|
||||
#else
|
||||
setpriority(PRIO_PROCESS, 0, nPriority);
|
||||
#endif
|
||||
}
|
||||
#endif
|
||||
|
||||
void SetThreadPriority(int nPriority);
|
||||
void RenameThread(const char* name);
|
||||
|
||||
// Standard wrapper for do-something-forever thread functions.
|
||||
|
|
Loading…
Reference in a new issue