Author: Alex Langford Date: 2023-08-14T14:33:08-07:00 New Revision: 69fdbdc4493aacf4d418a063930b39b02b5e18c5
URL: https://github.com/llvm/llvm-project/commit/69fdbdc4493aacf4d418a063930b39b02b5e18c5 DIFF: https://github.com/llvm/llvm-project/commit/69fdbdc4493aacf4d418a063930b39b02b5e18c5.diff LOG: [lldb] Remove support for SBHostOS threading functionality As stated on Discourse*, these methods have been deprecated. I am removing their implementation. They will now do nothing and return a value indicating failure (where appropriate). Due to the LLDB project's commitment to ABI stability at the SB API layer, we cannot remove these symbols completely. Discourse link: https://discourse.llvm.org/t/do-you-use-the-threading-functionality-in-sbhostos/71973 Added: Modified: lldb/source/API/SBHostOS.cpp llvm/docs/ReleaseNotes.rst Removed: ################################################################################ diff --git a/lldb/source/API/SBHostOS.cpp b/lldb/source/API/SBHostOS.cpp index cb026fd9203b9b..a77a703bba37b5 100644 --- a/lldb/source/API/SBHostOS.cpp +++ b/lldb/source/API/SBHostOS.cpp @@ -101,61 +101,23 @@ lldb::thread_t SBHostOS::ThreadCreate(const char *name, lldb::thread_func_t thread_function, void *thread_arg, SBError *error_ptr) { LLDB_INSTRUMENT_VA(name, thread_function, thread_arg, error_ptr); - llvm::Expected<HostThread> thread = - ThreadLauncher::LaunchThread(name, [thread_function, thread_arg] { - return thread_function(thread_arg); - }); - if (!thread) { - if (error_ptr) - error_ptr->SetError(Status(thread.takeError())); - else - llvm::consumeError(thread.takeError()); - return LLDB_INVALID_HOST_THREAD; - } - - return thread->Release(); + return LLDB_INVALID_HOST_THREAD; } void SBHostOS::ThreadCreated(const char *name) { LLDB_INSTRUMENT_VA(name); } bool SBHostOS::ThreadCancel(lldb::thread_t thread, SBError *error_ptr) { LLDB_INSTRUMENT_VA(thread, error_ptr); - - Status error; - HostThread host_thread(thread); - error = host_thread.Cancel(); - if (error_ptr) - error_ptr->SetError(error); - host_thread.Release(); - return error.Success(); + return false; } bool SBHostOS::ThreadDetach(lldb::thread_t thread, SBError *error_ptr) { LLDB_INSTRUMENT_VA(thread, error_ptr); - - Status error; -#if defined(_WIN32) - if (error_ptr) - error_ptr->SetErrorString("ThreadDetach is not supported on this platform"); -#else - HostThread host_thread(thread); - error = host_thread.GetNativeThread().Detach(); - if (error_ptr) - error_ptr->SetError(error); - host_thread.Release(); -#endif - return error.Success(); + return false; } bool SBHostOS::ThreadJoin(lldb::thread_t thread, lldb::thread_result_t *result, SBError *error_ptr) { LLDB_INSTRUMENT_VA(thread, result, error_ptr); - - Status error; - HostThread host_thread(thread); - error = host_thread.Join(result); - if (error_ptr) - error_ptr->SetError(error); - host_thread.Release(); - return error.Success(); + return false; } diff --git a/llvm/docs/ReleaseNotes.rst b/llvm/docs/ReleaseNotes.rst index 3d50c3f6fd8f95..4d0d531485051c 100644 --- a/llvm/docs/ReleaseNotes.rst +++ b/llvm/docs/ReleaseNotes.rst @@ -151,6 +151,9 @@ Changes to the LLVM tools Changes to LLDB --------------------------------- +* Methods in SBHostOS related to threads have had their implementations + removed. These methods will return a value indicating failure. + Changes to Sanitizers --------------------- * HWASan now defaults to detecting use-after-scope bugs. _______________________________________________ lldb-commits mailing list lldb-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits