diff --git a/tests/thread_pool/030-submit_closure_class_return_type.phpt b/tests/thread_pool/030-submit_closure_class_return_type.phpt index 49bc211..cfe31f0 100644 --- a/tests/thread_pool/030-submit_closure_class_return_type.phpt +++ b/tests/thread_pool/030-submit_closure_class_return_type.phpt @@ -1,15 +1,5 @@ --TEST-- ThreadPool: closure with class-name return type (regression: arg_info[-1].type not deep-copied) ---XFAIL-- -Returning a Closure from a worker thread is not yet implemented. -The worker creates a per-result closure snapshot in closure_transfer_obj -(TRANSFER branch), but the result-closure's persistent shell ends up -referencing memory in the task snapshot arena, which the worker frees -in thread_pool_worker_handler before the main thread loads the result. -This causes a heap-use-after-free in async_thread_create_closure when -iterating bound_vars on the loading side. Proper support requires the -result-closure snapshot to own its own arena and outlive the task -snapshot until the loading thread consumes it. --SKIPIF--