Isn't it better to avoid any behaviour-changing #define's in a header file? I mean the following series of lines in php_embed2.h:
/* we control char* lifetime of smart_str as we allow it to cross request boundaries */ #define SMART_STR_USE_REALLOC 1 /* we use bigger numbers than default as script output will most likely be bigger than anticipated for smart_str usage */ #define SMART_STR_PREALLOC 2048 #define SMART_STR_START_SIZE 2000 #include <ext/standard/php_smart_str.h> TSRM needs to be initialized just once on startup. It's not the thing that has to be initialized per thread my 2c, Moriyoshi On Fri, Mar 27, 2009 at 4:35 AM, Bas van Beek <b...@tobin.nl> wrote: > Hi Guys, > > The Embed2 SAPI for embedded applications needing multi-thread enabled PHP > scripting support can be inspected from the following repository: > > http://svn.tobin.nl/public/php/embed2/trunk/ > > The original Embedded SAPI does not allow concurrent script runs and as such > is less suited for multi-threaded applications . Also single threaded > applications > can benefit from the Embed2 SAPI as for each PHP script run, it is not > necessary to initialize and shutdown the entire PHP environment. > > Examples for embedding PHP using the Embed2 SAPI can be found in the > examples directory. > > The C example uses pthreads to showcase a typical posix implementation. > The C++ example uses the boost::thread library to showcase a cross platform > implementation. Build instructions / make files are also added for Linux, OS > X and Windows > > If good enough I would like to donate the Embed2 SAPI to the PHP community > using the standard PHP License and request a CVS account for adding it to > the source tree. > > The code has been tested to run on PHP-5.2.9 and PHP-5.3.0RC1 and was tested > using Mac OS X, Debian Linux and Windows XP. > > kind regards, > > Bas van Beek > > > -- PHP Internals - PHP Runtime Development Mailing List To unsubscribe, visit: http://www.php.net/unsub.php