Skip to content

Commit 2509293

Browse files
committed
#31: + Added support for waiting on identical objects, even if they have different keys.
1 parent de0f8bd commit 2509293

File tree

1 file changed

+7
-0
lines changed

1 file changed

+7
-0
lines changed

CHANGELOG.md

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,13 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
1010
## [0.3.0] - TBD
1111

1212
### Added
13+
- **Multiple Callbacks Per Event Support**: Complete redesign of waker trigger system to support multiple callbacks on a single event
14+
- Modified `zend_async_waker_trigger_s` structure to use flexible array member with dynamic capacity
15+
- Added `waker_trigger_create()` and `waker_trigger_add_callback()` helper functions for efficient memory management
16+
- Implemented single-block memory allocation for better performance (trigger + callback array in one allocation)
17+
- Default capacity starts at 1 and doubles as needed (1 → 2 → 4 → 8...)
18+
- Fixed `coroutine_event_callback_dispose()` to remove only specific callbacks instead of entire events
19+
- **Breaking Change**: Events now persist until all associated callbacks are removed
1320
- **Bailout Tests**: Added 15 tests covering memory exhaustion and stack overflow scenarios in async operations
1421
- **Garbage Collection Support**: Implemented comprehensive GC handlers for async objects
1522
- Added `async_coroutine_object_gc()` function to track all ZVALs in coroutine structures

0 commit comments

Comments
 (0)