Hi Robert,
The only question I can answer is 1) - OpenSIPS it is a multi-process
application (and not using threads).
How the python module is design (from threading perspective), I do not
know - maybe Maxim, the author of this module can help with this.
Regards,
Bogdan-Andrei Iancu
OpenSIPS Founder and Developer
http://www.opensips-solutions.com
OpenSIPS Summit May 2017 Amsterdam
http://www.opensips.org/events/Summit-2017Amsterdam.html
On 04/19/2017 08:43 PM, Mundkowsky, Robert wrote:
Hi,
This email should likely go to your other dev forum, but I don’t have
access yet.
I am using openSIPS 2.2.3 on Ubuntu 16.04.2 LTS.
I am using the python module. The python script called works fine
when called from outside openSIPS and it works fine when called inside
openSIPS, if it is triggered once at a time.
But if the python script is triggered twice by two phone calls or more
or even one call after another in short order, then there are weird
errors which show up in different places in the code like:
ERROR:python:python_handle_exception: #011TypeError: an integer is
required
I am guessing the openSIP python module has some problem/s related to
threading.
Questions:
1)I am guessing that OpenSIPS uses a multi-threaded architecture?
2)Is the python module meant to be a single thread? Or multi-threaded?
a.If it is meant to be single threaded then why use python library
thread functions? Just use python library without multi-threaded stuff.
b.If it is meant to be multi-threaded then why is there only one call
to PyThreadState_New and myThreadState is a global used everywhere?
i.I would think a thread per call to python_exec would make more sense
and make the code easier to understand?
3)Also why is there no clean up code (PyThreadState_Clear,
PyThreadState_Delete, Py_Finalize)?
a.I am guessing the idea is you do not need clean up, because it only
happens when openSIPS is turned off.
Robert
For reference:
https://www.codeproject.com/articles/11805/embedding-python-in-c-c-part-i
http://www.awasu.com/weblog/embedding-python/threads/
http://stackoverflow.com/questions/26061298/python-multi-thread-multi-interpreter-c-api
------------------------------------------------------------------------
This e-mail and any files transmitted with it may contain privileged
or confidential information. It is solely for use by the individual
for whom it is intended, even if addressed incorrectly. If you
received this e-mail in error, please notify the sender; do not
disclose, copy, distribute, or take any action in reliance on the
contents of this information; and delete it from your system. Any
other use of this e-mail is prohibited.
Thank you for your compliance.
------------------------------------------------------------------------
_______________________________________________
Users mailing list
[email protected]
http://lists.opensips.org/cgi-bin/mailman/listinfo/users
_______________________________________________
Users mailing list
[email protected]
http://lists.opensips.org/cgi-bin/mailman/listinfo/users