Files
turso/core
Pekka Enberg d3e8285d93 core/io: Never skip a completion in CompletionGroup::add()
The previous implementation of CompletionGroup::add() would filter out
successfully-finished completions:

    if !completion.finished() || completion.failed() {
        self.completions.push(completion.clone());
    }

This caused a problem when combined with drain() in the calling code.
Completions that were already finished would be removed from the source
vector by drain() but not added to the group, effectively losing track
of them.

This breaks the invariant that all completions passed to a group must
be tracked, regardless of their state. The build() method already
handles finished completions correctly by not including them in the
outstanding count.

The fix is to always add all completions and let build() handle their
state appropriately, matching the behavior of the old io_yield_many!()
macro.
2025-10-15 10:47:16 +03:00
..
2025-10-06 13:21:45 +04:00
2025-10-12 16:38:12 +05:30
2025-09-24 18:06:55 -03:00
2025-06-30 10:01:03 +03:00
fmt
2025-10-14 22:22:14 +04:00
2025-01-28 14:55:38 -05:00
2025-10-07 16:22:20 -04:00
2025-01-28 14:55:38 -05:00
2025-09-30 14:52:59 +04:00
2025-10-09 19:00:40 +03:00
2025-09-22 16:37:31 +03:00
2025-10-12 18:02:03 +05:30
2025-06-30 09:54:13 +03:00
2025-09-23 14:22:02 -04:00