Skip to content

Commit e08690b

Browse files
committed
Move gil_scoped_release in schedule_sync after the event is created
Fixes nb::incref_checked check in debug builds
1 parent 14527dd commit e08690b

File tree

1 file changed

+3
-3
lines changed

1 file changed

+3
-3
lines changed

src/aalink.cpp

+3-3
Original file line numberDiff line numberDiff line change
@@ -108,9 +108,6 @@ struct Scheduler {
108108
}
109109

110110
void schedule_sync(nb::object future, double beat, double offset, double origin) {
111-
// prevent occasional GIL deadlocks when calling link.sync()
112-
nb::gil_scoped_release release;
113-
114111
SchedulerSyncEvent event = {
115112
.future = future,
116113
.beat = beat,
@@ -119,6 +116,9 @@ struct Scheduler {
119116
.link_beat = next_link_beat(m_link_beat, beat, offset, origin),
120117
};
121118

119+
// prevent occasional GIL deadlocks when calling link.sync()
120+
nb::gil_scoped_release release;
121+
122122
m_events_mutex.lock();
123123
m_events.push_back(std::move(event));
124124
m_events_mutex.unlock();

0 commit comments

Comments
 (0)