/* Signals an event group by placing a new event in the group temporarily and signaling it. */
EFI_STATUS EFIAPI EfiEventGroupSignal(IN CONST EFI_GUID *EventGroup)
/* Signals an event group by placing a new event in the group temporarily and signaling it. */
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,
                  EfiEventEmptyFunction,
                  NULL,
                  EventGroup,
                  &Event
                  );
  if (EFI_ERROR (Status)) {
    return Status;
  }
  Status = gBS->SignalEvent (Event);
  gBS->CloseEvent (Event);
  return Status;
}