[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Commit-gnuradio] r6782 - gnuradio/trunk/gnuradio-core/src/lib/runtime
From: |
jcorgan |
Subject: |
[Commit-gnuradio] r6782 - gnuradio/trunk/gnuradio-core/src/lib/runtime |
Date: |
Thu, 1 Nov 2007 21:02:56 -0600 (MDT) |
Author: jcorgan
Date: 2007-11-01 21:02:56 -0600 (Thu, 01 Nov 2007)
New Revision: 6782
Modified:
gnuradio/trunk/gnuradio-core/src/lib/runtime/gr_top_block.i
Log:
Merged r6780:6781 from jcorgan/t196. Fixes ticket:196.
Modified: gnuradio/trunk/gnuradio-core/src/lib/runtime/gr_top_block.i
===================================================================
--- gnuradio/trunk/gnuradio-core/src/lib/runtime/gr_top_block.i 2007-11-02
02:59:47 UTC (rev 6781)
+++ gnuradio/trunk/gnuradio-core/src/lib/runtime/gr_top_block.i 2007-11-02
03:02:56 UTC (rev 6782)
@@ -49,25 +49,18 @@
bool is_running();
};
-%{
-class ensure_py_gil_state2 {
- PyGILState_STATE d_gstate;
-public:
- ensure_py_gil_state2() { d_gstate = PyGILState_Ensure(); }
- ~ensure_py_gil_state2() { PyGILState_Release(d_gstate); }
-};
-%}
-
%inline %{
void top_block_run_unlocked(gr_top_block_sptr r) throw (std::runtime_error)
{
- ensure_py_gil_state2 _lock;
+ Py_BEGIN_ALLOW_THREADS; // release global interpreter lock
r->run();
+ Py_END_ALLOW_THREADS; // acquire global interpreter lock
}
void top_block_wait_unlocked(gr_top_block_sptr r) throw (std::runtime_error)
{
- ensure_py_gil_state2 _lock;
+ Py_BEGIN_ALLOW_THREADS; // release global interpreter lock
r->wait();
+ Py_END_ALLOW_THREADS; // acquire global interpreter lock
}
%}
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Commit-gnuradio] r6782 - gnuradio/trunk/gnuradio-core/src/lib/runtime,
jcorgan <=