File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -81,13 +81,15 @@ cdef class RegisteredSystemEvents:
8181
8282 initialize()
8383
84+ self ._event_set = 0
8485 self ._event_set = nvml.system_event_set_create()
8586 # If this raises, the event needs to be freed and this is handled by
8687 # this class's __dealloc__ method.
8788 nvml.system_register_events(event_bitmask, self ._event_set)
8889
8990 def __dealloc__ (self ):
90- nvml.system_event_set_free(self ._event_set)
91+ if self ._event_set != 0 :
92+ nvml.system_event_set_free(self ._event_set)
9193
9294 def wait (self , timeout_ms: int = 0 , buffer_size: int = 1 ) -> SystemEvents:
9395 """
Original file line number Diff line number Diff line change 1- # SPDX-FileCopyrightText: Copyright (c) 2025 NVIDIA CORPORATION & AFFILIATES. All rights reserved.
1+ # SPDX-FileCopyrightText: Copyright (c) 2025-2026 NVIDIA CORPORATION & AFFILIATES. All rights reserved.
22#
33# SPDX-License-Identifier: Apache-2.0
44
@@ -22,6 +22,10 @@ def test_register_events():
2222
2323 # Also, some hardware doesn't support any event types.
2424
25- events = system .register_events ([system .SystemEventType .GPU_DRIVER_UNBIND ])
25+ try :
26+ events = system .register_events ([system .SystemEventType .GPU_DRIVER_UNBIND ])
27+ except system .UnknownError :
28+ pytest .skip ("system events may only be registered once per process" )
29+
2630 with pytest .raises (system .TimeoutError ):
2731 events .wait (timeout_ms = 500 , buffer_size = 1 )
You can’t perform that action at this time.
0 commit comments