Skip to content

Commit 696f111

Browse files
committed
Release GIL in submit and kill functions
1 parent e8b6844 commit 696f111

File tree

1 file changed

+6
-0
lines changed

1 file changed

+6
-0
lines changed

src/clib/lib/job_queue/job_node.cpp

+6
Original file line numberDiff line numberDiff line change
@@ -255,6 +255,9 @@ ERT_CLIB_SUBMODULE("queue", m) {
255255

256256
m.def("_submit", [](Cwrap<job_queue_node_type> node,
257257
Cwrap<queue_driver_type> driver) {
258+
// release the GIL
259+
py::gil_scoped_release release;
260+
258261
pthread_mutex_lock(&node->data_mutex);
259262
job_queue_node_set_status(node, JOB_QUEUE_SUBMITTED);
260263
void *job_data = queue_driver_submit_job(
@@ -287,6 +290,9 @@ ERT_CLIB_SUBMODULE("queue", m) {
287290
});
288291
m.def("_kill",
289292
[](Cwrap<job_queue_node_type> node, Cwrap<queue_driver_type> driver) {
293+
// release the GIL
294+
py::gil_scoped_release release;
295+
290296
bool result = false;
291297
pthread_mutex_lock(&node->data_mutex);
292298
job_status_type current_status = job_queue_node_get_status(node);

0 commit comments

Comments
 (0)