Skip to content

Commit c64f43b

Browse files
committed
Moves clean up function to frankenphp_worker_request_shutdown.
1 parent e32b2b5 commit c64f43b

File tree

1 file changed

+17
-17
lines changed

1 file changed

+17
-17
lines changed

frankenphp.c

Lines changed: 17 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -135,6 +135,23 @@ static void frankenphp_worker_request_shutdown() {
135135
zend_end_try();
136136

137137
zend_set_memory_limit(PG(memory_limit));
138+
139+
/*
140+
* free any php_stream resources that are not php source files
141+
* all resources are stored in EG(regular_list), see zend_list.c
142+
*/
143+
zend_resource *val;
144+
ZEND_HASH_FOREACH_PTR(&EG(regular_list), val) {
145+
/* verify the resource is a stream */
146+
if (val->type == php_file_le_stream()) {
147+
php_stream *stream = (php_stream *)val->ptr;
148+
if (stream != NULL && stream->ops != &php_stream_stdio_ops &&
149+
!stream->is_persistent && GC_REFCOUNT(val) == 1) {
150+
zend_list_delete(val);
151+
}
152+
}
153+
}
154+
ZEND_HASH_FOREACH_END();
138155
}
139156

140157
PHPAPI void get_full_env(zval *track_vars_array) {
@@ -442,23 +459,6 @@ PHP_FUNCTION(frankenphp_handle_request) {
442459
ctx->has_active_request = false;
443460
go_frankenphp_finish_worker_request(thread_index);
444461

445-
/*
446-
* free any php_stream resources that are not php source files
447-
* resources are stored EG(regular_list), see zend_list.c
448-
*/
449-
zend_resource *val;
450-
ZEND_HASH_FOREACH_PTR(&EG(regular_list), val) {
451-
/* verify the resource is a stream */
452-
if (val->type == php_file_le_stream()) {
453-
php_stream *stream = (php_stream *)val->ptr;
454-
if (stream != NULL && stream->ops != &php_stream_stdio_ops &&
455-
!stream->is_persistent && GC_REFCOUNT(val) == 1) {
456-
zend_list_delete(val);
457-
}
458-
}
459-
}
460-
ZEND_HASH_FOREACH_END();
461-
462462
RETURN_TRUE;
463463
}
464464

0 commit comments

Comments
 (0)