Author: ion Date: Sat Jul 23 17:17:06 2011 New Revision: 52811
URL: http://svn.reactos.org/svn/reactos?rev=52811&view=rev Log: [KERNEL32]: SleepEx forgot to de-activate the SxS frame.
Modified: trunk/reactos/dll/win32/kernel32/client/synch.c trunk/reactos/lib/rtl/actctx.c
Modified: trunk/reactos/dll/win32/kernel32/client/synch.c URL: http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/kernel32/client/s... ============================================================================== --- trunk/reactos/dll/win32/kernel32/client/synch.c [iso-8859-1] (original) +++ trunk/reactos/dll/win32/kernel32/client/synch.c [iso-8859-1] Sat Jul 23 17:17:06 2011 @@ -702,6 +702,9 @@ errCode = NtDelayExecution((BOOLEAN)bAlertable, TimePtr); } while ((bAlertable) && (errCode == STATUS_ALERTED)); + + /* Cleanup the activation context */ + if (bAlertable) RtlDeactivateActivationContextUnsafeFast(&ActCtx);
/* Return the correct code */ return (errCode == STATUS_USER_APC) ? WAIT_IO_COMPLETION : 0;
Modified: trunk/reactos/lib/rtl/actctx.c URL: http://svn.reactos.org/svn/reactos/trunk/reactos/lib/rtl/actctx.c?rev=52811&... ============================================================================== --- trunk/reactos/lib/rtl/actctx.c [iso-8859-1] (original) +++ trunk/reactos/lib/rtl/actctx.c [iso-8859-1] Sat Jul 23 17:17:06 2011 @@ -2832,7 +2832,10 @@ frame = &Frame->Frame;
if (!frame) + { + DPRINT1("No top frame!\n"); RtlRaiseStatus( STATUS_SXS_INVALID_DEACTIVATION ); + }
/* pop everything up to and including frame */ NtCurrentTeb()->ActivationContextStackPointer->ActiveFrame = frame->Previous;