Clayton,

This used to not work a few months ago but we made a general fix in the 
hash tables which should allow your code to run fine.
In case you encounter any problems let us know.

Andi

At 01:36 PM 5/17/2001 -0400, clayton collie wrote:
>the list has been busy as of late, so i suppose this got lost in the
>shuffle. anyways, here goes again :
>
>
>im creating an extension which exposes classes which may act as containers
>to other classes. These contained classes also get exposed via the
>extension. Now when the container class gets destructed by the user
>  $container->close(), called before RSHUTDOWN ), i need to ensure that all
>resources allocated by the contained objects are released, otherwise
>nastiness can occur is the user tries to access the contained objects later
>in the script.
>
>  to that end, ive written something like the following. i just wanted to
>know if it will cause any problems, since it accesses EG(regular_list) from
>a resource destructor. BTW the list destructor is
>destroy_container_resource .
>
>
>static int _kill_contained_objects(zend_rsrc_list *le,void *argument)
>{
>     container_t *cont = (container_t *)argument;
>     if (le->type == le_contained_object) {
>         contained_t *field = (contained_t *)le->ptr;
>         return (field->container == cont);
>     }
>     return 0;
>}
>
>static void kill_kids(apply_func_arg_t func, void *parent)
>{
>     EGLS_FETCH();
>     zend_hash_apply_with_argument(  &EG(regular_list), func, parent );
>}
>
>static void destroy_container_resource(zend_rsrc_list_entry *rsrc) {
>     container_t *cont = (container_t *)rsrc->ptr;
>     kill_kids( (apply_func_t) _kill_contained_objects, cont );
>     container_free(cont);
>}
>
>
>
>
>--
>_____________________________________
>"Fried Ice-Cream is a reality !" - George Clinton
>
>
>
>--
>PHP Development Mailing List <http://www.php.net/>
>To unsubscribe, e-mail: [EMAIL PROTECTED]
>For additional commands, e-mail: [EMAIL PROTECTED]
>To contact the list administrators, e-mail: [EMAIL PROTECTED]


-- 
PHP Development Mailing List <http://www.php.net/>
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
To contact the list administrators, e-mail: [EMAIL PROTECTED]

Reply via email to