From e339322a8832789595ce9747116157f9a0d18b68 Mon Sep 17 00:00:00 2001 From: Michael Lotz Date: Sat, 10 Dec 2011 21:35:40 +0100 Subject: [PATCH] Fix hrev43405 by moving the reference above the autolocker. The change in hrev43405 wasn't correct, as it put the reference object definition after the one of the corresponding locker, causing the reference to be released before the unlock would happen. Finally fixes #8187. Thanks Ingo for pointing that out. --- src/system/kernel/team.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/system/kernel/team.cpp b/src/system/kernel/team.cpp index 00a7da17e6..b794b07b30 100644 --- a/src/system/kernel/team.cpp +++ b/src/system/kernel/team.cpp @@ -4028,6 +4028,7 @@ _user_setsid(void) // lock the team's current process group, parent, and the team itself team->LockTeamParentAndProcessGroup(); + BReference oldGroupReference(team->group); AutoLocker oldGroupLocker(team->group, true); TeamLocker parentLocker(team->parent, true); TeamLocker teamLocker(team, true); @@ -4037,7 +4038,6 @@ _user_setsid(void) return B_NOT_ALLOWED; // remove the team from the old and add it to the new process group - BReference oldGroupReference(team->group); remove_team_from_group(team); group->Publish(session); insert_team_into_group(group, team);