From 311d1ab004cb20331cca75fd9396d23838530631 Mon Sep 17 00:00:00 2001 From: James Tabor Date: Tue, 4 May 2004 20:18:52 +0000 Subject: [PATCH] Added Spinlock in ObpGetHandleCountbyHandleTable. svn path=/trunk/; revision=9306 --- reactos/ntoskrnl/ob/handle.c | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/reactos/ntoskrnl/ob/handle.c b/reactos/ntoskrnl/ob/handle.c index 68f51ee56df..edd5a8a64a8 100644 --- a/reactos/ntoskrnl/ob/handle.c +++ b/reactos/ntoskrnl/ob/handle.c @@ -16,7 +16,7 @@ * along with this program; if not, write to the Free Software * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */ -/* $Id: handle.c,v 1.55 2004/05/02 04:40:25 jimtabor Exp $ +/* $Id: handle.c,v 1.56 2004/05/04 20:18:52 jimtabor Exp $ * * COPYRIGHT: See COPYING in the top level directory * PROJECT: ReactOS kernel @@ -957,8 +957,12 @@ unsigned int i, Count=0; PHANDLE_BLOCK blk; POBJECT_HEADER Header; PVOID ObjectBody; +KIRQL oldIrql; + PLIST_ENTRY current = HandleTable->ListHead.Flink; + KeAcquireSpinLock(&HandleTable->ListLock, &oldIrql); + while (current != &HandleTable->ListHead) { blk = CONTAINING_RECORD(current, HANDLE_BLOCK, entry); @@ -977,6 +981,7 @@ PLIST_ENTRY current = HandleTable->ListHead.Flink; } current = current->Flink; } + KeReleaseSpinLock(&HandleTable->ListLock, oldIrql); return (Count); }