mirror of https://github.com/acidanthera/audk.git
MdeModulePkg/PlatVarCleanupLib: Add lib destructor for unclosed event
Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Hao Wu <hao.a.wu@intel.com> Reviewed-by: Star Zeng <star.zeng@intel.com>
This commit is contained in:
parent
4d9abbf71d
commit
c103e09b52
|
@ -1,7 +1,7 @@
|
|||
/** @file
|
||||
Sample platform variable cleanup library implementation.
|
||||
|
||||
Copyright (c) 2015 - 2016, Intel Corporation. All rights reserved.<BR>
|
||||
Copyright (c) 2015 - 2017, Intel Corporation. All rights reserved.<BR>
|
||||
This program and the accompanying materials
|
||||
are licensed and made available under the terms and conditions of the BSD License
|
||||
which accompanies this distribution. The full text of the license may be found at
|
||||
|
@ -22,6 +22,8 @@ EDKII_VAR_CHECK_PROTOCOL *mVarCheck = NULL;
|
|||
///
|
||||
BOOLEAN mEndOfDxe = FALSE;
|
||||
|
||||
EFI_EVENT mPlatVarCleanupLibEndOfDxeEvent = NULL;
|
||||
|
||||
LIST_ENTRY mUserVariableList = INITIALIZE_LIST_HEAD_VARIABLE (mUserVariableList);
|
||||
UINT16 mUserVariableCount = 0;
|
||||
UINT16 mMarkedUserVariableCount = 0;
|
||||
|
@ -1229,7 +1231,6 @@ PlatformVarCleanupLibConstructor (
|
|||
)
|
||||
{
|
||||
EFI_STATUS Status;
|
||||
EFI_EVENT Event;
|
||||
|
||||
mLastVarErrorFlag = InternalGetVarErrorFlag ();
|
||||
DEBUG ((EFI_D_INFO, "mLastVarErrorFlag - 0x%02x\n", mLastVarErrorFlag));
|
||||
|
@ -1243,10 +1244,36 @@ PlatformVarCleanupLibConstructor (
|
|||
PlatformVarCleanupEndOfDxeEvent,
|
||||
NULL,
|
||||
&gEfiEndOfDxeEventGroupGuid,
|
||||
&Event
|
||||
&mPlatVarCleanupLibEndOfDxeEvent
|
||||
);
|
||||
ASSERT_EFI_ERROR (Status);
|
||||
|
||||
return EFI_SUCCESS;
|
||||
}
|
||||
|
||||
/**
|
||||
The destructor function closes the End of DXE event.
|
||||
|
||||
@param ImageHandle The firmware allocated handle for the EFI image.
|
||||
@param SystemTable A pointer to the EFI System Table.
|
||||
|
||||
@retval EFI_SUCCESS The destructor completed successfully.
|
||||
|
||||
**/
|
||||
EFI_STATUS
|
||||
EFIAPI
|
||||
PlatformVarCleanupLibDestructor (
|
||||
IN EFI_HANDLE ImageHandle,
|
||||
IN EFI_SYSTEM_TABLE *SystemTable
|
||||
)
|
||||
{
|
||||
EFI_STATUS Status;
|
||||
|
||||
//
|
||||
// Close the End of DXE event.
|
||||
//
|
||||
Status = gBS->CloseEvent (mPlatVarCleanupLibEndOfDxeEvent);
|
||||
ASSERT_EFI_ERROR (Status);
|
||||
|
||||
return EFI_SUCCESS;
|
||||
}
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
## @file
|
||||
# Sample platform variable cleanup library instance.
|
||||
#
|
||||
# Copyright (c) 2015 - 2016, Intel Corporation. All rights reserved.<BR>
|
||||
# Copyright (c) 2015 - 2017, Intel Corporation. All rights reserved.<BR>
|
||||
#
|
||||
# This program and the accompanying materials
|
||||
# are licensed and made available under the terms and conditions
|
||||
|
@ -23,6 +23,7 @@
|
|||
VERSION_STRING = 1.0
|
||||
LIBRARY_CLASS = PlatformVarCleanupLib|DXE_DRIVER DXE_RUNTIME_DRIVER DXE_SAL_DRIVER DXE_SMM_DRIVER UEFI_APPLICATION UEFI_DRIVER
|
||||
CONSTRUCTOR = PlatformVarCleanupLibConstructor
|
||||
DESTRUCTOR = PlatformVarCleanupLibDestructor
|
||||
|
||||
#
|
||||
# The following information is for reference only and not required by the build tools.
|
||||
|
|
Loading…
Reference in New Issue