audk/MdeModulePkg/Core/Dxe/Event
Star Zeng 1a4acc1136 MdeModulePkg DxeCore: Avoid the closed event to be signaled wrongly
Signal a closed event will still invoke the event notification function,
it could only be exposed when no the DEBUG_PROPERTY_CLEAR_MEMORY_ENABLED
bit set in PcdDebugPropertyMask.

For example:
  gBS->CreateEvent (
                EVT_NOTIFY_SIGNAL,
                TPL_CALLBACK,
                CallbackFun,
                NULL,
                &Event
                );
  gBS->CloseEvent (Event);
  gBS->SignalEvent (Event);      <- CallbackFun still be invoked

Although the case to signal a closed event is abnormal, the code could
still be enhanced to avoid it.

Cc: Liming Gao <liming.gao@intel.com>
Cc: Feng Tian <feng.tian@intel.com>
Cc: Thomas Palmer <thomas.palmer@hpe.com>
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Star Zeng <star.zeng@intel.com>
Reviewed-by: Liming Gao <liming.gao@intel.com>

git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@19754 6f19259b-4bc3-4df7-8a09-765794883524
2016-01-27 10:15:15 +00:00
..
Event.c MdeModulePkg DxeCore: Avoid the closed event to be signaled wrongly 2016-01-27 10:15:15 +00:00
Event.h MdeModulePkg: Remove event from protocol database only if registered 2015-09-21 01:53:34 +00:00
Timer.c Fix the bug that SetTimer () cannot work when Type is TimerPeriodic and TriggerTime is 0. 2013-10-29 06:47:47 +00:00
Tpl.c MdeModulePkg DxeCore: Add debug message to assist TPL related issues. 2015-06-01 06:40:38 +00:00