Thread safety issue in C++ extension module
| From: | O'Neil Delpratt | Date: | Wed, 26 Feb 2014 15:57:54 +0000 |
| Subject: | Thread safety issue in C++ extension module | ||
| Groups: | php.internals | ||
| Request: | Send a blank email to internals+get-72827@lists.php.net to get a copy of this message | ||
Hi,
I hope I am submitting this message to the correct list.
I have a blocking issue on thread safety in our PHP extension module that we have developed at Saxonica called Saxon/C, which provides XSLT 2.0 and XQuery support in PHP. The extension is built in C++ using Zend module framework. The aplication is quite involved as it was cross-compiled from Java using Excelsior JET, with its own JVM. The JVM can only be accessed in one os process.
The issue is I get some intermittent crashes in my php scripts, which I believe is due to more than one process accessing same JET JVM resource. It seems like my global objects are getting reused in another php request.
I am wondering if someone could give me some advice on how to build the Saxon/C extension library to overcome this problem or just point me in the right direction.
I have tried to follow some forum posts in regards to creating a TSRM layer but I am not getting very far with this.
kind regards,
--
O'Neil Delpratt
Software Developer, Saxonica Limited
Email: oneil@saxonica.com <mailto:oneil@saxonica.com>
Tel: +44 118 946 5894
Web: http://www.saxonica.com
Saxonica Community Site: http://dev.saxonica.com Saxonica Bug
tracking
System: https://saxonica.plan.io/