[haiku-commits] haiku: hrev43463 - src/system/kernel

  • From: mmlr@xxxxxxxx
  • To: haiku-commits@xxxxxxxxxxxxx
  • Date: Sat, 10 Dec 2011 21:38:21 +0100 (CET)

hrev43463 adds 1 changeset to branch 'master'
old head: bcc4a523b60996c6dfe0ce2ba2f0ace2bff4cb13
new head: e339322a8832789595ce9747116157f9a0d18b68

----------------------------------------------------------------------------

e339322: 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.

                                            [ Michael Lotz <mmlr@xxxxxxxx> ]

----------------------------------------------------------------------------

Revision:    hrev43463
Commit:      e339322a8832789595ce9747116157f9a0d18b68
URL:         http://cgit.haiku-os.org/haiku/commit/?id=e339322
Author:      Michael Lotz <mmlr@xxxxxxxx>
Date:        Sat Dec 10 20:35:40 2011 UTC

Ticket:      https://dev.haiku-os.org/ticket/8187

----------------------------------------------------------------------------

1 files changed, 1 insertions(+), 1 deletions(-)
src/system/kernel/team.cpp |    2 +-

----------------------------------------------------------------------------

diff --git a/src/system/kernel/team.cpp b/src/system/kernel/team.cpp
index 00a7da1..b794b07 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<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);


Other related posts:

  • » [haiku-commits] haiku: hrev43463 - src/system/kernel - mmlr