Skip to content

Fix io_uring async connect EALREADY regression#35

Merged
Coldwings merged 1 commit intomainfrom
fix/io-uring-connect-ealready-regression
Mar 13, 2026
Merged

Fix io_uring async connect EALREADY regression#35
Coldwings merged 1 commit intomainfrom
fix/io-uring-connect-ealready-regression

Conversation

@Coldwings
Copy link
Owner

Summary

  • fix async TCP/UDS connect flow to avoid submitting a second kernel connect on io_uring
  • on EINPROGRESS, wait for writable readiness and verify with SO_ERROR
  • add regression test for repeated async connect attempts
  • fix test coroutine lifetime issue to satisfy ASAN

Validation

  • CMake build passes
  • TCP connect regression test passes (including ASAN/TSAN test variants in CTest matrix)

Use single non-blocking connect call and wait for writability with poll_write, then validate completion via SO_ERROR to avoid duplicate kernel connect/EALREADY on io_uring. Add regression test and fix test coroutine lifetime to satisfy ASAN.
@Coldwings Coldwings force-pushed the fix/io-uring-connect-ealready-regression branch from a7ed777 to 3380a09 Compare March 13, 2026 09:37
@Coldwings Coldwings merged commit 6550a76 into main Mar 13, 2026
5 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant