labath added a comment.

I still don't know much about thread plans, but I didn't see anything that 
would stand out. All my comments are fairly superficial.



================
Comment at: lldb/source/Target/TargetProperties.td:183
     Desc<"A path to a python OS plug-in module file that contains a 
OperatingSystemPlugIn class.">;
+  def PluginReportsAllThreads: Property<"plugin-reports-all-threads", 
"Boolean">,
+    Global,
----------------
If this is relevant only for os plugins, then it would be good to reflect that 
in the name as well.


================
Comment at: 
lldb/test/API/functionalities/plugins/python_os_plugin/stepping_plugin_threads/main.cpp:1-7
+//===-- main.cpp ------------------------------------------------*- C++ 
-*-===//
+//
+// Part of the LLVM Project, under the Apache License v2.0 with LLVM 
Exceptions.
+// See https://llvm.org/LICENSE.txt for license information.
+// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
+//
+//===----------------------------------------------------------------------===//
----------------
We don't put licence headers on tests.


================
Comment at: 
lldb/test/API/functionalities/plugins/python_os_plugin/stepping_plugin_threads/main.cpp:20
+#include <thread>
+#include <unistd.h>
+
----------------
unistd.h is not portable, and it doesn't look like you are using anything from 
it.


================
Comment at: 
lldb/test/API/functionalities/plugins/python_os_plugin/stepping_plugin_threads/main.cpp:33
+  g_cv.notify_one();
+  g_cv.wait(func_lock);
+}
----------------
The synchronization here seems to rely on the fact that there will be no 
spurious wakeups. The simplest way to guard against that is to pass a lambda 
into the wait function `g_cv.wait(func_lock, [&] { return g_value == 2; })`


================
Comment at: 
lldb/test/API/functionalities/plugins/python_os_plugin/stepping_plugin_threads/main.cpp:38-41
+  step_out_of_here(); // Expect to stop here after step-out (clang)
+
+  // Return
+  return NULL; // Expect to stop here after step-out (icc and gcc)
----------------
The clang/gcc/icc anotations are not used, and who knows if they are even 
accurate at this point.


================
Comment at: 
lldb/test/API/functionalities/thread_plan/TestThreadPlanCommands.py:23
+
+    def check_list_output(self, command, active_plans = [], completed_plans = 
[], discarded_plans = []):
+        # Check the "thread plan list" output against a list of active & 
completed and discarded plans.
----------------
this looks like a model example for using `self.filecheck`


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D76814/new/

https://reviews.llvm.org/D76814



_______________________________________________
lldb-commits mailing list
lldb-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits

Reply via email to