Date: 07/25/01
- Next message: hordur <email protected>: "[PHP-DEV] Bug #12360: fsockopen timeout doesn't work"
- Previous message: Matt Allen: "[PHP-DEV] [PATCH] More error handling changes"
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
Hi,
I'm writing an extension PHP 4.06, VC++6 and doing OO syntax overloading and
ZTS
I'm using a global struct that is defined as ZTS global
typedef struct {
HashTable *array_dl_handle;
HashTable *array_compiler;
} php_delphi_globals;
I'm using a ressource. This ressource is created as :
...
typedef struct {
void * handle;
CREATEOBJECT GetObject;
GETCOMPILER GetCompiler;
DESTROYOBJECT DestroyObject;
char *module_name;
} php_delphi_user;
...
le_pdu = zend_register_list_destructors_ex(NULL, NULL, "delphi_pdu",
module_number);
...
This ressource once created is added to the global Hashtable
array_dl_handle:
pdu = emalloc(sizeof(php_delphi_user));
MAKE_STD_ZVAL(pdu_handle);
ZVAL_LONG(pdu_handle, zend_list_insert(pdu, le_pdu));
zend_hash_add(DG(array_dl_handle)
,module_name,strlen(module_name),&pdu_handle,sizeof(zval *),NULL);
On first request everything goes fine. I can access my ressource.
On second request with the same script, when I do
if (zend_hash_find(DG(array_dl_handle), module_name,strlen(module_name),
(void **)&value) == SUCCESS) {
pdu = zend_list_find((*value)->value.lval, &type) ;
}
, pdu is false.
Does ressources survive between requests ?
Is it mandatory to use the ressource feature to create structures ?
What am I doing wrong ?
Thank's
Gilles
-- PHP Development Mailing List <http://www.php.net/> To unsubscribe, e-mail: php-dev-unsubscribe <email protected> For additional commands, e-mail: php-dev-help <email protected> To contact the list administrators, e-mail: php-list-admin <email protected>
- Next message: hordur <email protected>: "[PHP-DEV] Bug #12360: fsockopen timeout doesn't work"
- Previous message: Matt Allen: "[PHP-DEV] [PATCH] More error handling changes"
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]

