change the main thread name to bambustu_main

the max length of linux's thread name could only be 16 bytes
bambustudio_main can not be set by pthread_setname_np

Change-Id: Idab83896c81787b32f6a4dde869b101da1d69e5c
This commit is contained in:
lane.wei 2022-09-14 16:12:12 +08:00 committed by Lane.Wei
parent e05f28d0fb
commit d9d88b8022
3 changed files with 11 additions and 11 deletions

View File

@ -95,7 +95,7 @@ static void glfw_callback(int error_code, const char* description)
int CLI::run(int argc, char **argv) int CLI::run(int argc, char **argv)
{ {
// Mark the main thread for the debugger and for runtime checks. // Mark the main thread for the debugger and for runtime checks.
set_current_thread_name("bambustudio_main"); set_current_thread_name("bambustu_main");
#ifdef __WXGTK__ #ifdef __WXGTK__
// On Linux, wxGTK has no support for Wayland, and the app crashes on // On Linux, wxGTK has no support for Wayland, and the app crashes on
@ -1736,7 +1736,7 @@ LONG WINAPI VectoredExceptionHandler(PEXCEPTION_POINTERS pExceptionInfo)
#if defined(_MSC_VER) || defined(__MINGW32__) #if defined(_MSC_VER) || defined(__MINGW32__)
extern "C" { extern "C" {
__declspec(dllexport) int __stdcall bambustudio_main(int argc, wchar_t **argv) __declspec(dllexport) int __stdcall bambustu_main(int argc, wchar_t **argv)
{ {
// Convert wchar_t arguments to UTF8. // Convert wchar_t arguments to UTF8.
std::vector<std::string> argv_narrow; std::vector<std::string> argv_narrow;

View File

@ -204,7 +204,7 @@ bool OpenGLVersionCheck::message_pump_exit = false;
extern "C" { extern "C" {
typedef int (__stdcall *Slic3rMainFunc)(int argc, wchar_t **argv); typedef int (__stdcall *Slic3rMainFunc)(int argc, wchar_t **argv);
Slic3rMainFunc bambustudio_main = nullptr; Slic3rMainFunc bambustu_main = nullptr;
} }
extern "C" { extern "C" {
@ -295,19 +295,19 @@ int wmain(int argc, wchar_t **argv)
} }
// resolve function address here // resolve function address here
bambustudio_main = (Slic3rMainFunc)GetProcAddress(hInstance_Slic3r, bambustu_main = (Slic3rMainFunc)GetProcAddress(hInstance_Slic3r,
#ifdef _WIN64 #ifdef _WIN64
// there is just a single calling conversion, therefore no mangling of the function name. // there is just a single calling conversion, therefore no mangling of the function name.
"bambustudio_main" "bambustu_main"
#else // stdcall calling convention declaration #else // stdcall calling convention declaration
"_bambustudio_main@8" "_bambustu_main@8"
#endif #endif
); );
if (bambustudio_main == nullptr) { if (bambustu_main == nullptr) {
printf("could not locate the function bambustudio_main in BambuStudio.dll\n"); printf("could not locate the function bambustu_main in BambuStudio.dll\n");
return -1; return -1;
} }
// argc minus the trailing nullptr of the argv // argc minus the trailing nullptr of the argv
return bambustudio_main((int)argv_extended.size() - 1, argv_extended.data()); return bambustu_main((int)argv_extended.size() - 1, argv_extended.data());
} }
} }

View File

@ -525,7 +525,7 @@ void AppConfig::save()
{ {
// Returns "undefined" if the thread naming functionality is not supported by the operating system. // Returns "undefined" if the thread naming functionality is not supported by the operating system.
std::optional<std::string> current_thread_name = get_current_thread_name(); std::optional<std::string> current_thread_name = get_current_thread_name();
if (current_thread_name && *current_thread_name != "bambustudio_main") if (current_thread_name && *current_thread_name != "bambustu_main")
throw CriticalException("Calling AppConfig::save() from a worker thread!"); throw CriticalException("Calling AppConfig::save() from a worker thread!");
} }
@ -777,7 +777,7 @@ void AppConfig::save()
{ {
// Returns "undefined" if the thread naming functionality is not supported by the operating system. // Returns "undefined" if the thread naming functionality is not supported by the operating system.
std::optional<std::string> current_thread_name = get_current_thread_name(); std::optional<std::string> current_thread_name = get_current_thread_name();
if (current_thread_name && *current_thread_name != "bambustudio_main") if (current_thread_name && *current_thread_name != "bambustu_main")
throw CriticalException("Calling AppConfig::save() from a worker thread!"); throw CriticalException("Calling AppConfig::save() from a worker thread!");
} }