* Semaphores are now put into the team struct in a doubly linked list.

* This makes sem_delete_owned_sems() a lot more efficient; before it would need
  to scan the entire semaphore table.
* This speeds up the test build of the kernel by another 2 seconds (with
  KDEBUG=2) on my laptop.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@33743 a95241bf-73f2-0310-859d-f6bbb57e9c96
This commit is contained in:
Axel Dörfler
2009-10-23 02:06:51 +00:00
parent 7a4718b253
commit ddbe12007a
4 changed files with 145 additions and 114 deletions
+3 -2
View File
@@ -1,5 +1,5 @@
/*
* Copyright 2002-2005, Axel Dörfler, [email protected].
* Copyright 2002-2009, Axel Dörfler, [email protected].
* Distributed under the terms of the MIT License.
*
* Copyright 2001-2002, Travis Geiselbrecht. All rights reserved.
@@ -12,6 +12,7 @@
#include <OS.h>
#include <thread.h>
struct kernel_args;
struct select_info;
@@ -21,7 +22,7 @@ extern "C" {
#endif
extern status_t haiku_sem_init(struct kernel_args *args);
extern int sem_delete_owned_sems(team_id owner);
extern void sem_delete_owned_sems(struct team* team);
extern int32 sem_used_sems(void);
extern int32 sem_max_sems(void);
+1
View File
@@ -193,6 +193,7 @@ struct team {
struct team_loading_info *loading_info;
struct list image_list;
struct list watcher_list;
struct list sem_list;
struct arch_team arch_info;
addr_t user_data;