[ros-diffs] [fireball] 30818: - 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.

fireball at svn.reactos.org fireball at svn.reactos.org
Tue Nov 27 14:27:39 CET 2007


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=30818&r1=30817&r2=30818&view=diff
==============================================================================
--- 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
                     {




More information about the Ros-diffs mailing list