internals:engine

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
internals:engine [2012/03/07 00:30]
cataphract [Extension Globals]
internals:engine [2017/09/22 13:28] (current)
Line 114: Line 114:
 </​code>​ </​code>​
  
-Note: do not use ZEND_INIT_MODULE_GLOBALS/​ts_allocate_id. If used a shared extension, they will provoke an attempt to call the destructor after the module has been unloaded! Also, for all that is holy, do NOT initialize globals on MINIT (<​code>​EXTNAME_G(var_ptr)</​code> ​= NULL), that won't work correctly in ZTS as it won't initialize the value in all threads.+Note: do not use ZEND_INIT_MODULE_GLOBALS/​ts_allocate_id. If used a shared extension, they will provoke an attempt to call the destructor after the module has been unloaded! Also, for all that is holy, do NOT initialize globals on MINIT (EXTNAME_G(var_ptr) = NULL), that won't work correctly in ZTS as it won't initialize the value in all threads.
  
 - Now define the constructor and destructor functions: - Now define the constructor and destructor functions:
internals/engine.txt · Last modified: 2017/09/22 13:28 (external edit)