* 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
This commit is contained in:
Axel Dörfler 2008-08-04 13:09:40 +00:00
parent b5bc41debf
commit cc0b310748

View File

@ -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();