From d7f7a3933f2b1c0861a2316ff41a6fe2b54f2431 Mon Sep 17 00:00:00 2001 From: Ted Ross Date: Fri, 4 Oct 2013 21:28:24 +0000 Subject: QPID-4967 - Bug fixes, added a lock to serialize calls into the Python interpreter. git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1529307 13f79535-47bb-0310-9956-ffa450edef68 --- qpid/extras/dispatch/src/python_embedded.c | 13 +++++++++++++ 1 file changed, 13 insertions(+) (limited to 'qpid/extras/dispatch/src/python_embedded.c') diff --git a/qpid/extras/dispatch/src/python_embedded.c b/qpid/extras/dispatch/src/python_embedded.c index c7c8f82dfc..6b235c7406 100644 --- a/qpid/extras/dispatch/src/python_embedded.c +++ b/qpid/extras/dispatch/src/python_embedded.c @@ -452,6 +452,7 @@ static void dx_io_rx_handler(void *context, dx_message_t *msg, int link_id) return; } + sys_mutex_lock(lock); PyObject *pAP = dx_field_to_py(ap_map); PyObject *pBody = dx_field_to_py(body_map); @@ -465,6 +466,7 @@ static void dx_io_rx_handler(void *context, dx_message_t *msg, int link_id) if (pValue) { Py_DECREF(pValue); } + sys_mutex_unlock(lock); } @@ -658,3 +660,14 @@ static void dx_python_setup() dispatch_module = m; } } + +void dx_python_lock() +{ + sys_mutex_lock(lock); +} + +void dx_python_unlock() +{ + sys_mutex_unlock(lock); +} + -- cgit v1.2.1