SpiecsEngine
 
Loading...
Searching...
No Matches

◆ SetThreadName()

bool Spices::ThreadLibrary::SetThreadName ( const std::string & name)
static

Set Thread name.

Parameters
namethread name.
Returns
Returns true if succeed.

Definition at line 13 of file ThreadLibrary.cpp.

14 {
16
17 const std::wstring n = StringLibrary::CharToWChar(name.c_str());
18
19 HRESULT r = SetThreadDescription(GetCurrentThread(), n.c_str());
20
21 switch (r)
22 {
23 case S_OK:
24 return true;
25 case E_ABORT:
26 SPICES_CORE_WARN("Operation aborted")
27 return false;
28 case E_ACCESSDENIED:
29 SPICES_CORE_WARN("General access denied error")
30 return false;
31 case E_FAIL:
32 SPICES_CORE_WARN("Unspecified failure")
33 return false;
34 case E_HANDLE:
35 SPICES_CORE_WARN("Handle that is not valid")
36 return false;
37 case E_INVALIDARG:
38 SPICES_CORE_WARN("One or more arguments are not valid")
39 return false;
40 case E_NOINTERFACE:
41 SPICES_CORE_WARN("No such interface supported")
42 return false;
43 case E_NOTIMPL:
44 SPICES_CORE_WARN("Not implemented")
45 return false;
46 case E_OUTOFMEMORY:
47 SPICES_CORE_WARN("Failed to allocate necessary memory")
48 return false;
49 case E_POINTER:
50 SPICES_CORE_WARN("Pointer that is not valid")
51 return false;
52 case E_UNEXPECTED:
53 SPICES_CORE_WARN("Unexpected failure")
54 return false;
55 }
56
57 return true;
58 }
#define SPICES_PROFILE_ZONE
static std::wstring CharToWChar(const char *c)
Transform char to wide char.

References Spices::StringLibrary::CharToWChar().

Referenced by SpicesTest::TEST(), Spices::VulkanCmdThreadPool::ThreadFunc(), Spices::ThreadPool_Basic< Params >::ThreadFunc(), and Spices::Net::EventLoopThreadPool::ThreadFunc().