Skip to content

Commit 7deb44e

Browse files
committed
Some cleanup
1 parent 37a3490 commit 7deb44e

File tree

6 files changed

+10
-46
lines changed

6 files changed

+10
-46
lines changed

Zend/zend.c

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -315,7 +315,7 @@ static void executor_globals_ctor(zend_executor_globals *executor_globals TSRMLS
315315
static void executor_globals_dtor(zend_executor_globals *executor_globals TSRMLS_DC)
316316
{
317317
zend_shutdown_constants(TSRMLS_C);
318-
zend_destroy_rsrc_plist(TSRMLS_C);
318+
zend_destroy_rsrc_list(&EG(persistent_list) TSRMLS_CC);
319319
zend_ini_shutdown(TSRMLS_C);
320320
}
321321

@@ -437,7 +437,7 @@ void zend_shutdown(TSRMLS_D)
437437
zend_shutdown_timeout_thread();
438438
#endif
439439
#ifndef ZTS
440-
zend_destroy_rsrc_plist();
440+
zend_destroy_rsrc_list(&EG(persistent_list) TSRMLS_CC);
441441
#endif
442442
zend_destroy_rsrc_list_dtors();
443443
zend_hash_destroy(&module_registry);

Zend/zend_execute_API.c

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -177,9 +177,10 @@ void shutdown_executor(TSRMLS_D)
177177
zend_hash_apply(EG(class_table), (apply_func_t) is_not_internal_class TSRMLS_CC);
178178
} zend_end_try();
179179

180-
zend_destroy_rsrc_list(TSRMLS_C); /* must be destroyed after the main symbol table and
181-
* op arrays are destroyed.
182-
*/
180+
/* The regular list must be destroyed after the main symbol table and
181+
* op arrays are destroyed.
182+
*/
183+
zend_destroy_rsrc_list(&EG(regular_list) TSRMLS_CC);
183184

184185
zend_try {
185186
clean_non_persistent_constants(TSRMLS_C);

Zend/zend_hash.c

Lines changed: 0 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -524,32 +524,6 @@ ZEND_API int zend_hash_del_key_or_index(HashTable *ht, char *arKey, uint nKeyLen
524524
return FAILURE;
525525
}
526526

527-
ZEND_API void zend_hash_reverse_destroy(HashTable *ht)
528-
{
529-
Bucket *p, *q;
530-
531-
while (1) {
532-
p = ht->pListTail;
533-
if (!p) {
534-
break;
535-
}
536-
q = p->pListLast;
537-
if (q) {
538-
q->pListNext = NULL;
539-
}
540-
ht->pListTail = q;
541-
542-
if (ht->pDestructor) {
543-
ht->pDestructor(p->pData);
544-
}
545-
if (!p->pDataPtr && p->pData) {
546-
pefree(p->pData, ht->persistent);
547-
}
548-
pefree(p, ht->persistent);
549-
}
550-
pefree(ht->arBuckets, ht->persistent);
551-
}
552-
553527

554528
ZEND_API void zend_hash_destroy(HashTable *ht)
555529
{

Zend/zend_hash.h

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -37,8 +37,6 @@ typedef ulong (*hash_func_t)(char *arKey, uint nKeyLength);
3737
typedef int (*compare_func_t)(const void *, const void *);
3838
typedef void (*sort_func_t)(void *, size_t, register size_t, compare_func_t);
3939
typedef void (*dtor_func_t)(void *pDest);
40-
typedef int (*apply_func_t)(void *pDest TSRMLS_DC);
41-
typedef int (*apply_func_arg_t)(void *pDest, void *argument TSRMLS_DC);
4240
typedef void (*copy_ctor_func_t)(void *pElement);
4341

4442
struct _hashtable;
@@ -81,8 +79,6 @@ BEGIN_EXTERN_C()
8179
ZEND_API int zend_hash_init(HashTable *ht, uint nSize, hash_func_t pHashFunction, dtor_func_t pDestructor, int persistent);
8280
ZEND_API int zend_hash_init_ex(HashTable *ht, uint nSize, hash_func_t pHashFunction, dtor_func_t pDestructor, int persistent, zend_bool bApplyProtection);
8381
ZEND_API void zend_hash_destroy(HashTable *ht);
84-
ZEND_API void zend_hash_reverse_destroy(HashTable *ht);
85-
8682
ZEND_API void zend_hash_clean(HashTable *ht);
8783

8884
/* additions/updates/changes */
@@ -113,6 +109,8 @@ typedef struct _zend_hash_key {
113109
} zend_hash_key;
114110

115111

112+
typedef int (*apply_func_t)(void *pDest TSRMLS_DC);
113+
typedef int (*apply_func_arg_t)(void *pDest, void *argument TSRMLS_DC);
116114
typedef int (*apply_func_args_t)(void *pDest, int num_args, va_list args, zend_hash_key *hash_key);
117115

118116
ZEND_API void zend_hash_graceful_destroy(HashTable *ht);

Zend/zend_list.c

Lines changed: 1 addition & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -228,10 +228,9 @@ int zend_init_rsrc_plist(TSRMLS_D)
228228
}
229229

230230

231-
void zend_destroy_rsrc_list(TSRMLS_D)
231+
void zend_destroy_rsrc_list(HashTable *ht TSRMLS_DC)
232232
{
233233
Bucket *p, *q;
234-
HashTable *ht = &EG(regular_list);
235234

236235
while (1) {
237236
p = ht->pListTail;
@@ -258,13 +257,6 @@ void zend_destroy_rsrc_list(TSRMLS_D)
258257
}
259258

260259

261-
262-
void zend_destroy_rsrc_plist(TSRMLS_D)
263-
{
264-
zend_hash_reverse_destroy(&EG(persistent_list));
265-
}
266-
267-
268260
static int clean_module_resource(zend_rsrc_list_entry *le, int *resource_id TSRMLS_DC)
269261
{
270262
if (le->type == *resource_id) {

Zend/zend_list.h

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -68,8 +68,7 @@ void plist_entry_destructor(void *ptr);
6868
void zend_clean_module_rsrc_dtors(int module_number TSRMLS_DC);
6969
int zend_init_rsrc_list(TSRMLS_D);
7070
int zend_init_rsrc_plist(TSRMLS_D);
71-
void zend_destroy_rsrc_list(TSRMLS_D);
72-
void zend_destroy_rsrc_plist(TSRMLS_D);
71+
void zend_destroy_rsrc_list(HashTable *ht TSRMLS_DC);
7372
int zend_init_rsrc_list_dtors(void);
7473
void zend_destroy_rsrc_list_dtors(void);
7574

0 commit comments

Comments
 (0)