Author: fireball Date: Tue Nov 27 16:27:39 2007 New Revision: 30818
URL: http://svn.reactos.org/svn/reactos?rev=30818&view=rev Log: - Add a reset of a "failure" flag in a successive case. Previous behavior was scary, that once a failure occured, it was always freeing all further entries. - Readd what was removed in 30812. - Herve Poussineaue really did all work on tracing down the problem, spending much time writing debug/check routines, I would not spot this bug without him. See issue #2545 for more details.
Modified: trunk/reactos/ntoskrnl/ex/handle.c
Modified: trunk/reactos/ntoskrnl/ex/handle.c URL: http://svn.reactos.org/svn/reactos/trunk/reactos/ntoskrnl/ex/handle.c?rev=30... ============================================================================== --- trunk/reactos/ntoskrnl/ex/handle.c (original) +++ trunk/reactos/ntoskrnl/ex/handle.c Tue Nov 27 16:27:39 2007 @@ -1120,8 +1120,12 @@ HandleTableEntry, NewEntry)) { - /* Lock the entry */ + /* Clear failure flag */ + Failed = FALSE; + + /* Lock the entry, increase the handle count */ NewEntry->Value |= EXHANDLE_TABLE_ENTRY_LOCK_BIT; + NewTable->HandleCount++; } else {