[ros-dev] Re: [ros-diffs] [ion] 20579: - Change dispatcher lock
release to
be more like documented in Windows Internals II and to allow an easier move
to Queued Spinlock.
Hartmut Birr
osexpert at googlemail.com
Thu Jan 5 16:37:36 CET 2006
ion at svn.reactos.org wrote:
> - Change dispatcher lock release to be more like documented in Windows Internals II and to allow an easier move to Queued Spinlock.
> Modified: trunk/reactos/ntoskrnl/include/internal/ke.h
> Modified: trunk/reactos/ntoskrnl/ke/wait.c
>
> ------------------------------------------------------------------------
> *Modified: trunk/reactos/ntoskrnl/include/internal/ke.h*
> --- trunk/reactos/ntoskrnl/include/internal/ke.h 2006-01-05 15:29:08 UTC (rev 20578)
> +++ trunk/reactos/ntoskrnl/include/internal/ke.h 2006-01-05 15:32:08 UTC (rev 20579)
> @@ -51,6 +51,7 @@
> #ifndef CONFIG_SMP
> #define KeInitializeDispatcher()
> #define KeAcquireDispatcherDatabaseLock() KeRaiseIrqlToDpcLevel();
>
> +#define KeReleaseDispatcherDatabaseLock(OldIrql) KiExitDispatcher(OldIrql);
>
> #define KeAcquireDispatcherDatabaseLockAtDpcLevel()
> #define KeReleaseDispatcherDatabaseLockFromDpcLevel()
> #else
> @@ -60,6 +61,9 @@
>
> KeAcquireSpinLockAtDpcLevel (&DispatcherDatabaseLock);
> #define KeReleaseDispatcherDatabaseLockFromDpcLevel() \
> KeReleaseSpinLockFromDpcLevel(&DispatcherDatabaseLock);
>
> +#define KeReleaseDispatcherDatabaseLock(OldIrql) \
> + KeReleaseSpinLockFromDpcLevel(&DispatcherDatabaseLock); \
> + KiExitDispatcher(OldIrql);
>
> #endif
>
I don't like inverted logic. It is more readable like this:
#ifdef CONFIG_SMP
...
#else
...
#endif
- Hartmut
More information about the Ros-dev
mailing list