Skip to content

♻️ Add sync guard, add signal-based I/O, and rename listener#92

Merged
kammce merged 1 commit intomainfrom
change-polling-policy
Apr 19, 2026
Merged

♻️ Add sync guard, add signal-based I/O, and rename listener#92
kammce merged 1 commit intomainfrom
change-polling-policy

Conversation

@kammce
Copy link
Copy Markdown
Member

@kammce kammce commented Apr 19, 2026

This commit makes three major changes:

  1. guard class: Converted from references to pointers with proper move semantics—moved-from objects null out both pointers.
  2. I/O state: Renamed blocked_by::io and blocked_by::external to blocked_by::signal to clarify that any external events trigger unblocking.
  3. Listener API: Renamed unblock_listener to context_listener and on_unblock() to set_listener(), plus added on_sync_block() callback for sync contention tracking.

The changes improve semantic clarity around blocking states and make the guard type safely movable with proper cleanup semantics.

Co-authored-by: Malia Labor (@MaliaLabor)

@kammce kammce force-pushed the change-polling-policy branch 2 times, most recently from 709f2af to c5e86a6 Compare April 19, 2026 19:49
@kammce kammce marked this pull request as ready for review April 19, 2026 19:50
…er API

This commit makes three major changes:

1. **guard class**: Converted from references to pointers with proper
   move semantics—moved-from objects null out both pointers.
2. **I/O state**: Renamed `blocked_by::io` and `blocked_by::external`
   to `blocked_by::signal` to clarify that any external events trigger
   unblocking.
3. **Listener API**: Renamed `unblock_listener` to `context_listener`
   and `on_unblock()` to `set_listener()`, plus added `on_sync_block()`
   callback for sync contention tracking.

The changes improve semantic clarity around blocking states and make the
guard type safely movable with proper cleanup semantics.

Co-authored-by: Malia Labor (@MaliaLabor)
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