[haiku-commits] r41404 - haiku/branches/developer/bonefish/signals/src/system/kernel

  • From: ingo_weinhold@xxxxxx
  • To: haiku-commits@xxxxxxxxxxxxx
  • Date: Mon, 9 May 2011 19:51:14 +0200 (CEST)

Author: bonefish
Date: 2011-05-09 19:51:13 +0200 (Mon, 09 May 2011)
New Revision: 41404
Changeset: https://dev.haiku-os.org/changeset/41404

Modified:
   haiku/branches/developer/bonefish/signals/src/system/kernel/team.cpp
Log:
team_remove_team(): No longer acquire the global threads spinlock when removing
the team from the hash table. The reason why this was done doesn't exist
anymore.


Modified: haiku/branches/developer/bonefish/signals/src/system/kernel/team.cpp
===================================================================
--- haiku/branches/developer/bonefish/signals/src/system/kernel/team.cpp        
2011-05-09 17:32:26 UTC (rev 41403)
+++ haiku/branches/developer/bonefish/signals/src/system/kernel/team.cpp        
2011-05-09 17:51:13 UTC (rev 41404)
@@ -2795,15 +2795,9 @@
        parent->dead_children.user_time += team->dead_threads_user_time
                + team->dead_children.user_time;
 
-       // Remove the team from the hash table. Also grab the thread spinlock 
while
-       // doing that. This makes the following sequence safe: grab teams lock,
-       // lookup team, grab threads lock, unlock teams lock,
-       // mutex_lock_threads_lock(<team related lock>), as used in the VFS 
code to
-       // lock another team's IO context.
+       // remove the team from the hash table
        InterruptsSpinLocker teamsLocker(sTeamHashLock);
-       SpinLocker threadsLocker(gThreadSpinlock);
        sTeamHash.Remove(team);
-       threadsLocker.Unlock();
        sUsedTeams--;
        teamsLocker.Unlock();
 


Other related posts:

  • » [haiku-commits] r41404 - haiku/branches/developer/bonefish/signals/src/system/kernel - ingo_weinhold