IPC-Manager

 view release on metacpan or  search on metacpan

Changes  view on Meta::CPAN

    - Support arbitrarily long peer names. DBI-backed drivers (PostgreSQL, MySQL, MariaDB, SQLite) widen the ipcm_peers.id and ipcm_messages to/from columns from VARCHAR(36) to VARCHAR(512). Filesystem-based drivers (UnixSocket, AtomicPipe, MessageFi...

0.000027  2026-04-19 09:58:22-07:00 America/Los_Angeles

0.000026  2026-04-19 08:36:18-07:00 America/Los_Angeles

    - Split IPC::Manager::Client::SharedMem out into its own CPAN distribution (IPC-Manager-Client-SharedMem). The SharedMem module, its tests, the SysV configure-time probe, and the matching Makefile.PL / dist.ini shims no longer ship with IPC-Manag...

0.000025  2026-04-19 06:33:45-07:00 America/Los_Angeles

    - Add optional $timeout argument to Service::Peer::ready(), Service::Handle::ready(), and the underlying Client::peer_active(). With no timeout the behavior is unchanged (one-shot check); with a timeout the call blocks until the peer becomes acti...

0.000024  2026-04-18 14:57:47-07:00 America/Los_Angeles

    - Fix sync_request hang when a peer disappears mid-request: await_response now snapshots the peer at send time and croaks if the peer is fully removed from the bus before the response arrives. Suspend-capable protocols (those advertising suspend_...
    - Add optional $timeout argument to sync_request() and await_response(); without it the behavior is unchanged (blocks indefinitely), with it the call croaks once the deadline elapses
    - Sweep orphaned Atomic::Pipe reassembly state when a peer leaves the bus: a new Client peer_left() hook (called from the service loop on peer-delta removal) lets AtomicPipe drop per-(pid, tid) parts/buffers entries belonging to dead peers instea...

0.000023  2026-04-17 12:06:27-07:00 America/Los_Angeles

    - Strengthen SysV IPC configure-time probe: add concurrent-contention and rapid create/destroy phases to catch hosts where semop sporadically returns EINVAL only under load

lib/IPC/Manager/Client.pm  view on Meta::CPAN


With no C<$timeout> (or C<undef>), returns the current state immediately.

With C<$timeout> in seconds, blocks until the peer becomes active or the
timeout elapses, whichever comes first.  A C<$timeout> of C<0> blocks
indefinitely.

When the protocol exposes a peer-change descriptor
(C<have_handles_for_peer_change>), C<peer_active> waits on it via
C<IO::Select>.  Otherwise it falls back to a 0.05-second sleep-and-retry
loop, avoiding a tight busy-loop in either case.

=item $bool = $con->peer_exists($peer_name)

Check if the specified peer exists, even if it is suspended.

=item $pid = $con->peer_pid($peer_name)

Get the pid of a peer, undef if it does not exist or is not running.

=item @peer_names = $con->peers()



( run in 0.487 second using v1.01-cache-2.11-cpan-39bf76dae61 )