notbugAs an Amazon Associate I earn from qualifying purchases.
Want a good read? Try FreeBSD Mastery: Jails (IT Mastery Book 15)
Want a good monitor light? See my photos
All times are UTC
Ukraine
Port details
p5-Atomic-Pipe Send atomic messages from multiple writers across a POSIX pipe
0.023 develnew! on this many watch lists=0 search for ports that depend on this port Find issues related to this port Report an issue related to this port View this port on Repology. pkg-fallout Package not present on quarterly.This port was created during this quarter. It will be in the next quarterly branch but not the current one.
Maintainer: sunpoet@FreeBSD.org search for ports maintained by this maintainer
Port Added: 2026-04-18 22:03:23
Last Update: 2026-04-18 21:18:13
Commit Hash: 7f4a795
Also Listed In: perl5
License: ART10 GPLv1+
WWW:
https://metacpan.org/dist/Atomic-Pipe
Description:
Normally if you write to a pipe from multiple processes/threads, the messages will come mixed together unpredictably. Some messages may be interrupted by parts of messages from other writers. This module takes advantage of some POSIX specifications to allow multiple writers to send arbitrary data down a pipe in atomic chunks to avoid the issue. NOTE: This only works for POSIX compliant pipes on POSIX compliant systems. Also some features may not be available on older systems, or some platforms. Under the hood this module will split your message into small sections of slightly smaller than the PIPE_BUF limit. Each message will be sent as 1 atomic chunk with a 4 byte prefix indicating what process id it came from, what thread id it came from, a chunk ID (in descending order, so if there are 3 chunks the first will have id 2, the second 1, and the final chunk is always 0 allowing a flush as it knows it is done) and then 1 byte with the length of the data section to follow. On the receiving end this module will read chunks and re-assemble them based on the header data. So the reader will always get complete messages. Note that message order is not guarenteed when messages are sent from multiple processes or threads. Though all messages from any given thread/process should be in order.
Homepage    cgit ¦ Codeberg ¦ GitHub ¦ GitLab ¦ SVNWeb - no subversion history for this port

Manual pages:
FreshPorts has no man page information for this port.
pkg-plist: as obtained via: make generate-plist
Expand this list (9 items)
Collapse this list.
  1. /usr/local/share/licenses/p5-Atomic-Pipe-0.023/catalog.mk
  2. /usr/local/share/licenses/p5-Atomic-Pipe-0.023/LICENSE
  3. /usr/local/share/licenses/p5-Atomic-Pipe-0.023/ART10
  4. /usr/local/share/licenses/p5-Atomic-Pipe-0.023/GPLv1+
  5. lib/perl5/site_perl/Atomic/Pipe.pm
  6. lib/perl5/site_perl/man/man3/Atomic::Pipe.3.gz
  7. @owner
  8. @group
  9. @mode
Collapse this list.
USE_RC_SUBR (Service Scripts)
  • no SUBR information found for this port
Dependency lines:
  • p5-Atomic-Pipe>0:devel/p5-Atomic-Pipe
To install the port:
cd /usr/ports/devel/p5-Atomic-Pipe/ && make install clean
To add the package, run one of these commands:
  • pkg install devel/p5-Atomic-Pipe
  • pkg install p5-Atomic-Pipe
NOTE: If this package has multiple flavors (see below), then use one of them instead of the name specified above.
PKGNAME: p5-Atomic-Pipe
Flavors: there is no flavor information for this port.
distinfo:
TIMESTAMP = 1775587090 SHA256 (Atomic-Pipe-0.023.tar.gz) = ca72bccf0ace8032a58b17e58a416d4293f1c3442d5b5a0d893b27b491a8a688 SIZE (Atomic-Pipe-0.023.tar.gz) = 37349

Packages (timestamps in pop-ups are UTC):
p5-Atomic-Pipe
ABIaarch64amd64armv6armv7i386powerpcpowerpc64powerpc64le
FreeBSD:13:latest----0.023n/an/an/a
FreeBSD:13:quarterly-----n/an/an/a
FreeBSD:14:latest-0.023--0.023---
FreeBSD:14:quarterly--------
FreeBSD:15:latest0.0230.023n/a-n/an/a--
FreeBSD:15:quarterly--n/a-n/an/a--
FreeBSD:16:latest0.0230.023n/a-n/an/a--
Dependencies
NOTE: FreshPorts displays only information on required and default dependencies. Optional dependencies are not covered.
Build dependencies:
  1. perl5>=5.42.r<5.43 : lang/perl5.42
Runtime dependencies:
  1. perl5>=5.42.r<5.43 : lang/perl5.42
There are no ports dependent upon this port

Configuration Options:
No options to configure
Options name:
devel_p5-Atomic-Pipe
USES:
perl5
FreshPorts was unable to extract/find any pkg message
Master Sites:
Expand this list (12 items)
Collapse this list.
  1. ftp://ftp.auckland.ac.nz/pub/perl/CPAN/authors/id/E/EX/EXODIST/
  2. ftp://ftp.cpan.org/pub/CPAN/authors/id/E/EX/EXODIST/
  3. ftp://ftp.cpan.org/pub/CPAN/modules/by-module/Atomic/
  4. ftp://ftp.funet.fi/pub/languages/perl/CPAN/authors/id/E/EX/EXODIST/
  5. ftp://ftp.mirrorservice.org/sites/cpan.perl.org/CPAN/authors/id/E/EX/EXODIST/
  6. http://backpan.perl.org/authors/id/E/EX/EXODIST/
  7. http://ftp.jaist.ac.jp/pub/CPAN/authors/id/E/EX/EXODIST/
  8. http://ftp.twaren.net/Unix/Lang/CPAN/authors/id/E/EX/EXODIST/
  9. https://cpan.metacpan.org/authors/id/E/EX/EXODIST/
  10. https://cpan.metacpan.org/modules/by-module/Atomic/
  11. https://www.cpan.org/authors/id/E/EX/EXODIST/
Collapse this list.

Number of commits found: 1

Commit History - (may be incomplete: for full details, see links to repositories near top of page)
CommitCreditsLog message
0.023
18 Apr 2026 21:18:13
commit hash: 7f4a795432528d90d517c3fe47d39e9a7be56b63commit hash: 7f4a795432528d90d517c3fe47d39e9a7be56b63commit hash: 7f4a795432528d90d517c3fe47d39e9a7be56b63commit hash: 7f4a795432528d90d517c3fe47d39e9a7be56b63 files touched by this commit
Po-Chuan Hsieh (sunpoet) search for other commits by this committer
devel/p5-Atomic-Pipe: Add p5-Atomic-Pipe 0.023

Normally if you write to a pipe from multiple processes/threads, the messages
will come mixed together unpredictably. Some messages may be interrupted by
parts of messages from other writers. This module takes advantage of some POSIX
specifications to allow multiple writers to send arbitrary data down a pipe in
atomic chunks to avoid the issue.

NOTE: This only works for POSIX compliant pipes on POSIX compliant systems. Also
some features may not be available on older systems, or some platforms.

Under the hood this module will split your message into small sections of
slightly smaller than the PIPE_BUF limit. Each message will be sent as 1 atomic
chunk with a 4 byte prefix indicating what process id it came from, what thread
id it came from, a chunk ID (in descending order, so if there are 3 chunks the
first will have id 2, the second 1, and the final chunk is always 0 allowing a
flush as it knows it is done) and then 1 byte with the length of the data
section to follow.

On the receiving end this module will read chunks and re-assemble them based on
the header data. So the reader will always get complete messages. Note that
message order is not guarenteed when messages are sent from multiple processes
or threads. Though all messages from any given thread/process should be in
order.

Number of commits found: 1