@@ -118,12 +118,15 @@ def get_pooled_int(value):
118118 rc_deltas = [0 ] * repcount
119119 alloc_deltas = [0 ] * repcount
120120 fd_deltas = [0 ] * repcount
121+ handle_deltas = [0 ] * repcount
121122 getallocatedblocks = sys .getallocatedblocks
122123 gettotalrefcount = sys .gettotalrefcount
123124 getunicodeinternedsize = sys .getunicodeinternedsize
124125 fd_count = os_helper .fd_count
126+ handle_count = os_helper .handle_count
125127 # initialize variables to make pyflakes quiet
126128 rc_before = alloc_before = fd_before = interned_immortal_before = 0
129+ handle_before = 0
127130
128131 if not quiet :
129132 print ("beginning" , repcount , "repetitions. Showing number of leaks "
@@ -160,14 +163,17 @@ def get_pooled_int(value):
160163 alloc_after = getallocatedblocks () - interned_immortal_after
161164 rc_after = gettotalrefcount ()
162165 fd_after = fd_count ()
166+ handle_after = handle_count ()
163167
164168 rc_deltas [i ] = get_pooled_int (rc_after - rc_before )
165169 alloc_deltas [i ] = get_pooled_int (alloc_after - alloc_before )
166170 fd_deltas [i ] = get_pooled_int (fd_after - fd_before )
171+ handle_deltas [i ] = get_pooled_int (handle_after - handle_before )
167172
168173 if not quiet :
169174 # use max, not sum, so total_leaks is one of the pooled ints
170- total_leaks = max (rc_deltas [i ], alloc_deltas [i ], fd_deltas [i ])
175+ total_leaks = max (rc_deltas [i ], alloc_deltas [i ],
176+ fd_deltas [i ], handle_deltas [i ])
171177 if total_leaks <= 0 :
172178 symbol = '.'
173179 elif total_leaks < 10 :
@@ -185,6 +191,7 @@ def get_pooled_int(value):
185191 alloc_before = alloc_after
186192 rc_before = rc_after
187193 fd_before = fd_after
194+ handle_before = handle_after
188195 interned_immortal_before = interned_immortal_after
189196
190197 restore_support_xml (xml_filename )
@@ -215,7 +222,8 @@ def check_fd_deltas(deltas):
215222 for deltas , item_name , checker in [
216223 (rc_deltas , 'references' , check_rc_deltas ),
217224 (alloc_deltas , 'memory blocks' , check_rc_deltas ),
218- (fd_deltas , 'file descriptors' , check_fd_deltas )
225+ (fd_deltas , 'file descriptors' , check_fd_deltas ),
226+ (handle_deltas , 'handles' , check_rc_deltas ),
219227 ]:
220228 # ignore warmup runs
221229 deltas = deltas [warmups :]
0 commit comments