@@ -63,6 +63,13 @@ LinkerHandleT = Union["cuda.bindings.nvjitlink.nvJitLinkHandle", "cuda.bindings.
6363# Principal class
6464# =============================================================================
6565
66+
67+ cdef inline int Linker_check_open(Linker self ) except - 1 :
68+ if self .is_closed:
69+ raise RuntimeError (" Linker has been closed" )
70+ return 0
71+
72+
6673cdef class Linker:
6774 """ Represent a linking machinery to link one or more object codes into
6875 :class:`~cuda.core.ObjectCode`.
@@ -106,8 +113,7 @@ cdef class Linker:
106113 Ensure that input object codes were compiled with appropriate
107114 flags for linking (e.g., relocatable device code enabled ).
108115 """
109- if self.is_closed:
110- raise RuntimeError("Linker has been closed")
116+ Linker_check_open(self )
111117 return Linker_link(self , str(target_type ))
112118
113119 def get_error_log(self ) -> str:
@@ -121,8 +127,7 @@ cdef class Linker:
121127 # After link(), the decoded log is cached here.
122128 if self._error_log is not None:
123129 return self._error_log
124- if self.is_closed:
125- raise RuntimeError("Linker has been closed")
130+ Linker_check_open(self )
126131 cdef cynvjitlink.nvJitLinkHandle c_h
127132 cdef size_t c_log_size = 0
128133 cdef char* c_log_ptr
@@ -149,8 +154,7 @@ cdef class Linker:
149154 # After link(), the decoded log is cached here.
150155 if self._info_log is not None:
151156 return self._info_log
152- if self.is_closed:
153- raise RuntimeError("Linker has been closed")
157+ Linker_check_open(self )
154158 cdef cynvjitlink.nvJitLinkHandle c_h
155159 cdef size_t c_log_size = 0
156160 cdef char* c_log_ptr
0 commit comments