[Lldb-commits] [PATCH] D153900: [lldb] Deprecate SBHostOS threading functionality
Alex Langford via Phabricator via lldb-commits
lldb-commits at lists.llvm.org
Tue Jun 27 11:01:18 PDT 2023
bulbazord created this revision.
bulbazord added reviewers: JDevlieghere, teemperor, mib, jingham, clayborg.
Herald added a project: All.
bulbazord requested review of this revision.
Herald added a project: LLDB.
Herald added a subscriber: lldb-commits.
For some context, Raphael tried to this before: https://reviews.llvm.org/D104231
These methods are not tested at all, and in some cases, are not even fully
implemented (e.g. SBHostOS::ThreadCreated). I'm not convinced it's
possible to use these correctly from Python, and I'm not aware of any
users of these methods. It's difficult to remove these methods
wholesale, but we can start with deprecating them.
A possible follow-up to this change (which may require an RFC to get
more buy in from the community) is to gut these functions entirely. That
is, remove the implementations and replace them either with nothing or
have them dump out a message to stderr saying not to use these.
Repository:
rG LLVM Github Monorepo
https://reviews.llvm.org/D153900
Files:
lldb/include/lldb/API/SBHostOS.h
lldb/tools/driver/Driver.cpp
Index: lldb/tools/driver/Driver.cpp
===================================================================
--- lldb/tools/driver/Driver.cpp
+++ lldb/tools/driver/Driver.cpp
@@ -795,8 +795,6 @@
// Setup LLDB signal handlers once the debugger has been initialized.
SBDebugger::PrintDiagnosticsOnError();
- SBHostOS::ThreadCreated("<lldb.driver.main-thread>");
-
signal(SIGINT, sigint_handler);
#if !defined(_WIN32)
signal(SIGPIPE, SIG_IGN);
Index: lldb/include/lldb/API/SBHostOS.h
===================================================================
--- lldb/include/lldb/API/SBHostOS.h
+++ lldb/include/lldb/API/SBHostOS.h
@@ -24,15 +24,36 @@
static lldb::SBFileSpec GetUserHomeDirectory();
+ LLDB_DEPRECATED("Threading functionality in SBHostOS is not well supported "
+ "and not portable. It is difficult to use from Python. Do "
+ "not introduce new uses of this method.",
+ "")
static void ThreadCreated(const char *name);
+ LLDB_DEPRECATED("Threading functionality in SBHostOS is not well supported "
+ "and not portable. It is difficult to use from Python. Do "
+ "not introduce new uses of this method.",
+ "")
static lldb::thread_t ThreadCreate(const char *name,
lldb::thread_func_t thread_function,
void *thread_arg, lldb::SBError *err);
+ LLDB_DEPRECATED("Threading functionality in SBHostOS is not well supported "
+ "and not portable. It is difficult to use from Python. Do "
+ "not introduce new uses of this method.",
+ "")
static bool ThreadCancel(lldb::thread_t thread, lldb::SBError *err);
+ LLDB_DEPRECATED("Threading functionality in SBHostOS is not well supported "
+ "and not portable. It is difficult to use from Python. Do "
+ "not introduce new uses of this method.",
+ "")
static bool ThreadDetach(lldb::thread_t thread, lldb::SBError *err);
+
+ LLDB_DEPRECATED("Threading functionality in SBHostOS is not well supported "
+ "and not portable. It is difficult to use from Python. Do "
+ "not introduce new uses of this method.",
+ "")
static bool ThreadJoin(lldb::thread_t thread, lldb::thread_result_t *result,
lldb::SBError *err);
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D153900.535064.patch
Type: text/x-patch
Size: 2461 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/lldb-commits/attachments/20230627/e2be496f/attachment.bin>
More information about the lldb-commits
mailing list