mirror of
https://github.com/acidanthera/audk.git
synced 2025-05-31 11:50:10 +02:00
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
|
/** @file
|
||||||
Sample platform variable cleanup library implementation.
|
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
|
This program and the accompanying materials
|
||||||
are licensed and made available under the terms and conditions of the BSD License
|
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
|
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;
|
BOOLEAN mEndOfDxe = FALSE;
|
||||||
|
|
||||||
|
EFI_EVENT mPlatVarCleanupLibEndOfDxeEvent = NULL;
|
||||||
|
|
||||||
LIST_ENTRY mUserVariableList = INITIALIZE_LIST_HEAD_VARIABLE (mUserVariableList);
|
LIST_ENTRY mUserVariableList = INITIALIZE_LIST_HEAD_VARIABLE (mUserVariableList);
|
||||||
UINT16 mUserVariableCount = 0;
|
UINT16 mUserVariableCount = 0;
|
||||||
UINT16 mMarkedUserVariableCount = 0;
|
UINT16 mMarkedUserVariableCount = 0;
|
||||||
@ -1229,7 +1231,6 @@ PlatformVarCleanupLibConstructor (
|
|||||||
)
|
)
|
||||||
{
|
{
|
||||||
EFI_STATUS Status;
|
EFI_STATUS Status;
|
||||||
EFI_EVENT Event;
|
|
||||||
|
|
||||||
mLastVarErrorFlag = InternalGetVarErrorFlag ();
|
mLastVarErrorFlag = InternalGetVarErrorFlag ();
|
||||||
DEBUG ((EFI_D_INFO, "mLastVarErrorFlag - 0x%02x\n", mLastVarErrorFlag));
|
DEBUG ((EFI_D_INFO, "mLastVarErrorFlag - 0x%02x\n", mLastVarErrorFlag));
|
||||||
@ -1243,10 +1244,36 @@ PlatformVarCleanupLibConstructor (
|
|||||||
PlatformVarCleanupEndOfDxeEvent,
|
PlatformVarCleanupEndOfDxeEvent,
|
||||||
NULL,
|
NULL,
|
||||||
&gEfiEndOfDxeEventGroupGuid,
|
&gEfiEndOfDxeEventGroupGuid,
|
||||||
&Event
|
&mPlatVarCleanupLibEndOfDxeEvent
|
||||||
);
|
);
|
||||||
ASSERT_EFI_ERROR (Status);
|
ASSERT_EFI_ERROR (Status);
|
||||||
|
|
||||||
return EFI_SUCCESS;
|
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
|
## @file
|
||||||
# Sample platform variable cleanup library instance.
|
# 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
|
# This program and the accompanying materials
|
||||||
# are licensed and made available under the terms and conditions
|
# are licensed and made available under the terms and conditions
|
||||||
@ -23,6 +23,7 @@
|
|||||||
VERSION_STRING = 1.0
|
VERSION_STRING = 1.0
|
||||||
LIBRARY_CLASS = PlatformVarCleanupLib|DXE_DRIVER DXE_RUNTIME_DRIVER DXE_SAL_DRIVER DXE_SMM_DRIVER UEFI_APPLICATION UEFI_DRIVER
|
LIBRARY_CLASS = PlatformVarCleanupLib|DXE_DRIVER DXE_RUNTIME_DRIVER DXE_SAL_DRIVER DXE_SMM_DRIVER UEFI_APPLICATION UEFI_DRIVER
|
||||||
CONSTRUCTOR = PlatformVarCleanupLibConstructor
|
CONSTRUCTOR = PlatformVarCleanupLibConstructor
|
||||||
|
DESTRUCTOR = PlatformVarCleanupLibDestructor
|
||||||
|
|
||||||
#
|
#
|
||||||
# The following information is for reference only and not required by the build tools.
|
# The following information is for reference only and not required by the build tools.
|
||||||
|
Loading…
x
Reference in New Issue
Block a user