Re: Calling PHP functions from an extension
| From: | Andrey Hristov | Date: | Sat, 24 Jul 2004 12:25:36 +0000 |
| Subject: | Re: Calling PHP functions from an extension | ||
| References: | 1 2 3 4 5 6 7 | Groups: | php.internals |
| Request: | Send a blank email to internals+get-11538@lists.php.net to get a copy of this message | ||
John Lim wrote:
"Andrey Hristov" <php@hristov.com> wrote in message news:4102471A.70405@hristov.com...So, you write your own extension, right? In this case BG is not defined since it is defined only for functions in ext/standard. However there is such macro already created for your extension (if you have used ext_skel script). You can find it in php_yourextname.h . You should use it to have your extension be thread safe when accessing globals variables of your extension. This is the case in multithreaded environment where you have the call cache as global variable but multiple threads will to use it, so YOUREXTG() prevents from corruption. hope this helps, andreyG usually comes from Globals and I have seen BG in ext/standard so maybe BG means Basic functions Globals. andrey John Lim wrote:Thanks for the info. I get a error with the following (BG is undefined function): if (zend_call_function(&fci, &BG(fci_cache) TSRMLS_CC) == SUCCESS) So I tested with if (zend_call_function(&fci, &fci_cache TSRMLS_CC) == SUCCESS) and it works fine. So do i need to use BG(), and how do i so ?Andi, Just a few quick questions. What is the BG macro for? Eg. if (zend_call_function(&fci, &BG(fci_cache) TSRMLS_CC) == SUCCESS)