IPC-Manager
view release on metacpan or search on metacpan
- 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 )