@@ -1238,15 +1238,15 @@ work_queue_first(struct llist_node *head)
1238
1238
}
1239
1239
1240
1240
static void
1241
- process_queue (struct llist_node * head , struct _qsbr_thread_state * qsbr ,
1241
+ process_queue (struct llist_node * head , _PyThreadStateImpl * tstate ,
1242
1242
bool keep_empty , delayed_dealloc_cb cb , void * state )
1243
1243
{
1244
1244
while (!llist_empty (head )) {
1245
1245
struct _mem_work_chunk * buf = work_queue_first (head );
1246
1246
1247
1247
if (buf -> rd_idx < buf -> wr_idx ) {
1248
1248
struct _mem_work_item * item = & buf -> array [buf -> rd_idx ];
1249
- if (!_Py_qsbr_poll (qsbr , item -> qsbr_goal )) {
1249
+ if (!_Py_qsbr_poll (tstate -> qsbr , item -> qsbr_goal )) {
1250
1250
return ;
1251
1251
}
1252
1252
@@ -1270,19 +1270,19 @@ process_queue(struct llist_node *head, struct _qsbr_thread_state *qsbr,
1270
1270
1271
1271
static void
1272
1272
process_interp_queue (struct _Py_mem_interp_free_queue * queue ,
1273
- struct _qsbr_thread_state * qsbr , delayed_dealloc_cb cb ,
1273
+ _PyThreadStateImpl * tstate , delayed_dealloc_cb cb ,
1274
1274
void * state )
1275
1275
{
1276
1276
assert (PyMutex_IsLocked (& queue -> mutex ));
1277
- process_queue (& queue -> head , qsbr , false, cb , state );
1277
+ process_queue (& queue -> head , tstate , false, cb , state );
1278
1278
1279
1279
int more_work = !llist_empty (& queue -> head );
1280
1280
_Py_atomic_store_int_relaxed (& queue -> has_work , more_work );
1281
1281
}
1282
1282
1283
1283
static void
1284
1284
maybe_process_interp_queue (struct _Py_mem_interp_free_queue * queue ,
1285
- struct _qsbr_thread_state * qsbr , delayed_dealloc_cb cb ,
1285
+ _PyThreadStateImpl * tstate , delayed_dealloc_cb cb ,
1286
1286
void * state )
1287
1287
{
1288
1288
if (!_Py_atomic_load_int_relaxed (& queue -> has_work )) {
@@ -1291,7 +1291,7 @@ maybe_process_interp_queue(struct _Py_mem_interp_free_queue *queue,
1291
1291
1292
1292
// Try to acquire the lock, but don't block if it's already held.
1293
1293
if (_PyMutex_LockTimed (& queue -> mutex , 0 , 0 ) == PY_LOCK_ACQUIRED ) {
1294
- process_interp_queue (queue , qsbr , cb , state );
1294
+ process_interp_queue (queue , tstate , cb , state );
1295
1295
PyMutex_Unlock (& queue -> mutex );
1296
1296
}
1297
1297
}
@@ -1303,10 +1303,10 @@ _PyMem_ProcessDelayed(PyThreadState *tstate)
1303
1303
_PyThreadStateImpl * tstate_impl = (_PyThreadStateImpl * )tstate ;
1304
1304
1305
1305
// Process thread-local work
1306
- process_queue (& tstate_impl -> mem_free_queue , tstate_impl -> qsbr , true, NULL , NULL );
1306
+ process_queue (& tstate_impl -> mem_free_queue , tstate_impl , true, NULL , NULL );
1307
1307
1308
1308
// Process shared interpreter work
1309
- maybe_process_interp_queue (& interp -> mem_free_queue , tstate_impl -> qsbr , NULL , NULL );
1309
+ maybe_process_interp_queue (& interp -> mem_free_queue , tstate_impl , NULL , NULL );
1310
1310
}
1311
1311
1312
1312
void
@@ -1316,10 +1316,10 @@ _PyMem_ProcessDelayedNoDealloc(PyThreadState *tstate, delayed_dealloc_cb cb, voi
1316
1316
_PyThreadStateImpl * tstate_impl = (_PyThreadStateImpl * )tstate ;
1317
1317
1318
1318
// Process thread-local work
1319
- process_queue (& tstate_impl -> mem_free_queue , tstate_impl -> qsbr , true, cb , state );
1319
+ process_queue (& tstate_impl -> mem_free_queue , tstate_impl , true, cb , state );
1320
1320
1321
1321
// Process shared interpreter work
1322
- maybe_process_interp_queue (& interp -> mem_free_queue , tstate_impl -> qsbr , cb , state );
1322
+ maybe_process_interp_queue (& interp -> mem_free_queue , tstate_impl , cb , state );
1323
1323
}
1324
1324
1325
1325
void
@@ -1348,7 +1348,7 @@ _PyMem_AbandonDelayed(PyThreadState *tstate)
1348
1348
1349
1349
// Process the merged queue now (see gh-130794).
1350
1350
_PyThreadStateImpl * this_tstate = (_PyThreadStateImpl * )_PyThreadState_GET ();
1351
- process_interp_queue (& interp -> mem_free_queue , this_tstate -> qsbr , NULL , NULL );
1351
+ process_interp_queue (& interp -> mem_free_queue , this_tstate , NULL , NULL );
1352
1352
1353
1353
PyMutex_Unlock (& interp -> mem_free_queue .mutex );
1354
1354
0 commit comments