[haiku-commits] Re: r39846 - in haiku/trunk: headers/os/kernel headers/private/debug headers/private/kernel src/kits/debug src/system/kernel ...

  • From: Ingo Weinhold <ingo_weinhold@xxxxxx>
  • To: haiku-commits@xxxxxxxxxxxxx
  • Date: Tue, 14 Dec 2010 13:56:31 +0100

On 2010-12-14 at 06:08:49 [+0100], anevilyak@xxxxxxxxx wrote:
> Author: anevilyak
> Date: 2010-12-14 06:08:47 +0100 (Tue, 14 Dec 2010)
> New Revision: 39846
> Changeset: http://dev.haiku-os.org/changeset/39846
> 
> Modified:
>    haiku/trunk/headers/os/kernel/debugger.h
>    haiku/trunk/headers/private/debug/DebugMessageHandler.h
>    haiku/trunk/headers/private/kernel/user_debugger.h
>    haiku/trunk/src/kits/debug/DebugMessageHandler.cpp
>    haiku/trunk/src/system/kernel/debug/user_debugger.cpp
>    haiku/trunk/src/system/kernel/thread.cpp
> Log:
> Add support for thread rename and priority change notifications to the
> debugger API/message set.

I'm not sure I like this addition. Neither a name nor a priority change is 
really critical information for debugging. I would at least introduce a new 
thread debugging flag (e.g. B_THREAD_DEBUG_PROPERTY_CHANGES) which is off by 
default.

It might be easier to remove that again and just periodically poll the thread 
infos in Debugger, though.

> Modified: haiku/trunk/src/system/kernel/thread.cpp
> ===================================================================
> --- haiku/trunk/src/system/kernel/thread.cpp    2010-12-13 23:44:02 UTC 
> (rev 39845)
> +++ haiku/trunk/src/system/kernel/thread.cpp    2010-12-14 05:08:47 UTC 
> (rev 39846)
> @@ -2559,6 +2559,9 @@
>      RELEASE_THREAD_LOCK();
>      restore_interrupts(state);
>  
> +    if (status == B_OK)
> +        user_debug_thread_renamed(id, name);
> +
>      return status;
>  }
>  
> @@ -2601,6 +2604,8 @@
>          scheduler_set_thread_priority(thread, priority);
>      }
>  
> +    user_debug_thread_priority_changed(id, priority);
> +
>      return oldPriority;
>  }

In either case the calling thread isn't necessarily the thread whose 
name/priority is changed. It doesn't even have to be in the same team, in 
which case this doesn't work at all.

CU, Ingo

Other related posts: