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

Reply via email to