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.
This commit is contained in:
@@ -4028,6 +4028,7 @@ _user_setsid(void)
|
||||
|
||||
// lock the team's current process group, parent, and the team itself
|
||||
team->LockTeamParentAndProcessGroup();
|
||||
BReference<ProcessGroup> oldGroupReference(team->group);
|
||||
AutoLocker<ProcessGroup> 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<ProcessGroup> oldGroupReference(team->group);
|
||||
remove_team_from_group(team);
|
||||
group->Publish(session);
|
||||
insert_team_into_group(group, team);
|
||||
|
||||
Reference in New Issue
Block a user