From cc0b310748d59cd8e62729e745087eb7d5b83594 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Axel=20D=C3=B6rfler?= Date: Mon, 4 Aug 2008 13:09:40 +0000 Subject: [PATCH] * We're now using an anonymous condition variable for the team's dead children instead of publishing it. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26789 a95241bf-73f2-0310-859d-f6bbb57e9c96 --- src/system/kernel/team.cpp | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/src/system/kernel/team.cpp b/src/system/kernel/team.cpp index 79df223ea7..5a52383e7f 100644 --- a/src/system/kernel/team.cpp +++ b/src/system/kernel/team.cpp @@ -769,7 +769,7 @@ create_team_struct(const char *name, bool kernel) return NULL; // publish dead/stopped/continued children condition vars - team->dead_children->condition_variable.Publish(team->dead_children, + team->dead_children->condition_variable.Init(team->dead_children, "team children"); // keep all allocated structures @@ -786,8 +786,6 @@ create_team_struct(const char *name, bool kernel) static void delete_team_struct(struct team *team) { - team->dead_children->condition_variable.Unpublish(); - while (death_entry* threadDeathEntry = (death_entry*)list_remove_head_item( &team->dead_threads)) { free(threadDeathEntry); @@ -1756,7 +1754,7 @@ wait_for_child(pid_t child, uint32 flags, int32 *_reason, ConditionVariableEntry deadWaitEntry; if (status == B_WOULD_BLOCK && (flags & WNOHANG) == 0) - deadWaitEntry.Add(team->dead_children); + team->dead_children->condition_variable.Add(&deadWaitEntry); locker.Unlock();