File tree Expand file tree Collapse file tree 2 files changed +24
-1
lines changed
uefi-test-runner/src/boot Expand file tree Collapse file tree 2 files changed +24
-1
lines changed Original file line number Diff line number Diff line change @@ -46,8 +46,12 @@ fn test_check_event_freestanding() {
4646 let event =
4747 unsafe { boot:: create_event ( EventType :: NOTIFY_WAIT , Tpl :: CALLBACK , Some ( callback) , None ) }
4848 . unwrap ( ) ;
49- let is_signaled = boot:: check_event ( event) . unwrap ( ) ;
49+
50+ let event_clone = unsafe { event. unsafe_clone ( ) } ;
51+ let is_signaled = boot:: check_event ( event_clone) . unwrap ( ) ;
5052 assert ! ( !is_signaled) ;
53+
54+ boot:: close_event ( event) . unwrap ( ) ;
5155}
5256
5357fn test_timer_freestanding ( ) {
@@ -56,6 +60,8 @@ fn test_timer_freestanding() {
5660 let mut events = unsafe { [ timer_event. unsafe_clone ( ) ] } ;
5761 boot:: set_timer ( & timer_event, TimerTrigger :: Relative ( 5_0 /*00 ns */ ) ) . unwrap ( ) ;
5862 assert_eq ! ( boot:: wait_for_event( & mut events) . unwrap( ) , 0 ) ;
63+
64+ boot:: close_event ( timer_event) . unwrap ( ) ;
5965}
6066
6167fn test_timer ( bt : & BootServices ) {
Original file line number Diff line number Diff line change @@ -234,6 +234,23 @@ pub fn check_event(event: Event) -> Result<bool> {
234234 }
235235}
236236
237+ /// Removes `event` from any event group to which it belongs and closes it.
238+ ///
239+ /// If `event` was registered with `register_protocol_notify`, then the
240+ /// corresponding registration will be removed. Calling this function within the
241+ /// corresponding notify function is allowed.
242+ ///
243+ /// # Errors
244+ ///
245+ /// The specification does not list any errors, however implementations are
246+ /// allowed to return an error if needed.
247+ pub fn close_event ( event : Event ) -> Result {
248+ let bt = boot_services_raw_panicking ( ) ;
249+ let bt = unsafe { bt. as_ref ( ) } ;
250+
251+ unsafe { ( bt. close_event ) ( event. as_ptr ( ) ) } . to_result ( )
252+ }
253+
237254/// Sets the trigger for an event of type [`TIMER`].
238255///
239256/// # Errors
You can’t perform that action at this time.
0 commit comments