diff options
author | Laszlo Ersek <lersek@redhat.com> | 2016-03-22 17:07:14 +0100 |
---|---|---|
committer | Laszlo Ersek <lersek@redhat.com> | 2016-03-23 12:05:45 +0100 |
commit | 6212b9481d822a6765f8cd264ceb8454291948bd (patch) | |
tree | 9cd95725cccd522dedfbe9b136e4086c207d69c8 | |
parent | ff55dd3befb43cbbf6c69513eadada79c8e984f9 (diff) | |
download | edk2-6212b9481d822a6765f8cd264ceb8454291948bd.tar.gz edk2-6212b9481d822a6765f8cd264ceb8454291948bd.tar.bz2 edk2-6212b9481d822a6765f8cd264ceb8454291948bd.zip |
IntelFrameworkPkg/FrameworkUefiLib: implement EfiEventGroupSignal
This patch follows the implementation seen in MdePkg's UefiLib instance,
so that FrameworkUefiLib also covers the UefiLib.h library class header
completely.
Cc: Michael D Kinney <michael.d.kinney@intel.com>
Cc: Jeff Fan <jeff.fan@intel.com>
Cc: Jordan Justen <jordan.l.justen@intel.com>
Cc: Ard Biesheuvel <ard.biesheuvel@linaro.org>
Suggested-by: Jordan Justen <jordan.l.justen@intel.com>
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Laszlo Ersek <lersek@redhat.com>
Reviewed-by: Jordan Justen <jordan.l.justen@intel.com>
Reviewed-by: Liming Gao <liming.gao@intel.com>
-rw-r--r-- | IntelFrameworkPkg/Library/FrameworkUefiLib/UefiLib.c | 43 |
1 files changed, 43 insertions, 0 deletions
diff --git a/IntelFrameworkPkg/Library/FrameworkUefiLib/UefiLib.c b/IntelFrameworkPkg/Library/FrameworkUefiLib/UefiLib.c index 9f73fb52ed..e198b729a3 100644 --- a/IntelFrameworkPkg/Library/FrameworkUefiLib/UefiLib.c +++ b/IntelFrameworkPkg/Library/FrameworkUefiLib/UefiLib.c @@ -282,6 +282,49 @@ EfiNamedEventSignal ( return Status;
}
+/**
+ Signals an event group by placing a new event in the group temporarily and
+ signaling it.
+
+ @param[in] EventGroup Supplies the unique identifier of the event
+ group to signal.
+
+ @retval EFI_SUCCESS The event group was signaled successfully.
+ @retval EFI_INVALID_PARAMETER EventGroup is NULL.
+ @return Error codes that report problems about event
+ creation or signaling.
+**/
+EFI_STATUS
+EFIAPI
+EfiEventGroupSignal (
+ IN CONST EFI_GUID *EventGroup
+ )
+{
+ EFI_STATUS Status;
+ EFI_EVENT Event;
+
+ if (EventGroup == NULL) {
+ return EFI_INVALID_PARAMETER;
+ }
+
+ Status = gBS->CreateEventEx (
+ EVT_NOTIFY_SIGNAL,
+ TPL_CALLBACK,
+ InternalEmptyFunction,
+ NULL,
+ EventGroup,
+ &Event
+ );
+ if (EFI_ERROR (Status)) {
+ return Status;
+ }
+
+ Status = gBS->SignalEvent (Event);
+ gBS->CloseEvent (Event);
+
+ return Status;
+}
+
/**
Returns the current TPL.
|