Skip to content

Async SHM multi-server path is non-functional #125

Description

@mcurrier2

Description

In shared_memory.rs, the multi-server implementation:

  • Registers connections but never reads or forwards messages from them
  • handle_connection inserts into the connections map but has no receive loop
  • start_multi_server monitoring task never delivers messages to the channel

Additionally, close() does not set the ring buffer shutdown flag, causing blocked peers to spin until the 5-second timeout.

Impact

Multi-client shared memory mode (if invoked via the trait interface) would hang indefinitely with no messages delivered.

Suggested Fix

  1. Add a receive loop in handle_connection that calls receive_message() and sends on message_sender
  2. Set shutdown flag in close() (mirror shared_memory_blocking.rs:848–857)

Found during release polish review

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Type

    No type

    Fields

    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions