看到两段代码:
// 第一段代码int symbols;do { symbols = zend_hash_num_elements(&EG(symbol_table)); zend_hash_reverse_apply(&EG(symbol_table), (apply_func_t) zval_call_destructor TSRMLS_CC); } while (symbols != zend_hash_num_elements(&EG(symbol_table)));// 第二段代码zend_objects_store_call_destructors(&EG(objects_store) TSRMLS_CC);
这段代码的意思是不是 反向遍历 symbol_table ,然后把每个需要执行析构函数的 zval 扔到 TSRMLS_CC 里,这家伙就是一个数组了,然后作为 zend_objects_store_call_destructors 函数的参数,zend_objects_store_call_destructors函数内部再遍历它(TSRMLS_CC)?
是这样吗?谢谢诸位
翻阅古今