Skip to content
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.

Commit 27c7011

Browse files
committedMar 26, 2024·
Merge branch 'pythongh-110481-brc-bind' into nogil-integration
2 parents ce40da4 + e697b37 commit 27c7011

File tree

2 files changed

+8
-4
lines changed

2 files changed

+8
-4
lines changed
 

‎Python/brc.c

+2
Original file line numberDiff line numberDiff line change
@@ -119,6 +119,8 @@ _Py_brc_merge_refcounts(PyThreadState *tstate)
119119
struct _brc_thread_state *brc = &((_PyThreadStateImpl *)tstate)->brc;
120120
struct _brc_bucket *bucket = get_bucket(tstate->interp, brc->tid);
121121

122+
assert(brc->tid == _Py_ThreadId());
123+
122124
// Append all objects into a local stack. We don't want to hold the lock
123125
// while calling destructors.
124126
PyMutex_Lock(&bucket->mutex);

‎Python/pystate.c

+6-4
Original file line numberDiff line numberDiff line change
@@ -261,6 +261,12 @@ bind_tstate(PyThreadState *tstate)
261261
tstate->native_thread_id = PyThread_get_thread_native_id();
262262
#endif
263263

264+
#ifdef Py_GIL_DISABLED
265+
// Initialize biased reference counting inter-thread queue. Note that this
266+
// needs to be initialized from the active thread.
267+
_Py_brc_init_thread(tstate);
268+
#endif
269+
264270
// mimalloc state needs to be initialized from the active thread.
265271
tstate_mimalloc_bind(tstate);
266272

@@ -1416,10 +1422,6 @@ init_threadstate(_PyThreadStateImpl *_tstate,
14161422
tstate->what_event = -1;
14171423
tstate->previous_executor = NULL;
14181424

1419-
#ifdef Py_GIL_DISABLED
1420-
// Initialize biased reference counting inter-thread queue
1421-
_Py_brc_init_thread(tstate);
1422-
#endif
14231425
llist_init(&_tstate->mem_free_queue);
14241426

14251427
if (interp->stoptheworld.requested || _PyRuntime.stoptheworld.requested) {

0 commit comments

Comments
 (0)
Please sign in to comment.