kernel/user_debugger: Initialize the condition variables.

Should (actually) fix #15223 and #15226. After things settle
down a bit, I'll refactor our ConditionVariable constructors
to detect this at compile time instead of creating obscure
KDLs...
This commit is contained in:
Augustin Cavalier 2019-08-04 15:52:01 -04:00
parent 7739bbedf8
commit 24f7b647cd

View File

@ -792,6 +792,7 @@ thread_hit_debug_event(debug_debugger_message event, const void *message,
// TODO: Maybe better use ref-counting and a flag in the breakpoint manager.
Team* team = thread_get_current_thread()->team;
ConditionVariable debugChangeCondition;
debugChangeCondition.Init(team, "debug change condition");
prepare_debugger_change(team, debugChangeCondition);
if (team->debug_info.breakpoint_manager != NULL) {
@ -1561,6 +1562,7 @@ nub_thread_cleanup(Thread *nubThread)
nubThread->id, nubThread->team->debug_info.debugger_port));
ConditionVariable debugChangeCondition;
debugChangeCondition.Init(nubThread->team, "debug change condition");
prepare_debugger_change(nubThread->team, debugChangeCondition);
team_debug_info teamDebugInfo;
@ -2545,6 +2547,7 @@ install_team_debugger(team_id teamID, port_id debuggerPort,
// get the team
Team* team;
ConditionVariable debugChangeCondition;
debugChangeCondition.Init((void*)teamID, "debug change condition");
error = prepare_debugger_change(teamID, debugChangeCondition, team);
if (error != B_OK)
return error;
@ -2871,6 +2874,7 @@ _user_remove_team_debugger(team_id teamID)
{
Team* team;
ConditionVariable debugChangeCondition;
debugChangeCondition.Init((void*)teamID, "debug change condition");
status_t error = prepare_debugger_change(teamID, debugChangeCondition,
team);
if (error != B_OK)