| Port details |
- p5-Atomic-Pipe Send atomic messages from multiple writers across a POSIX pipe
- 0.032 devel
=0 0.029Version of this port present on the latest quarterly branch. - Maintainer: sunpoet@FreeBSD.org
 - Port Added: 2026-04-18 22:03:23
- Last Update: 2026-07-08 13:30:54
- Commit Hash: cb2adb9
- 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.
¦ ¦ ¦ ¦ 
- Manual pages:
- FreshPorts has no man page information for this port.
- pkg-plist: as obtained via:
make generate-plist - 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 = 1782966192
SHA256 (Atomic-Pipe-0.032.tar.gz) = d8ea0f2b1397e99e5c87607ad44068549b6c80db0b37a517215df7ad2b752006
SIZE (Atomic-Pipe-0.032.tar.gz) = 66065
Packages (timestamps in pop-ups are UTC):
- Dependencies
- NOTE: FreshPorts displays only information on required and default dependencies. Optional dependencies are not covered.
- Build dependencies:
-
- p5-Compress-Zstd>=0 : archivers/p5-Compress-Zstd
- perl5>=5.42.r<5.43 : lang/perl5.42
- Test dependencies:
-
- py-Test-Simple>=1.302200 : devel/py-Test-Simple
- Runtime dependencies:
-
- p5-Compress-Zstd>=0 : archivers/p5-Compress-Zstd
- perl5>=5.42.r<5.43 : lang/perl5.42
- There are no ports dependent upon this port
Configuration Options:
- ===> The following configuration options are available for p5-Atomic-Pipe-0.032:
RECOMMENDED=on: Recommended dependencies by upstream
===> Use 'make config' to modify these settings
- Options name:
- devel_p5-Atomic-Pipe
- USES:
- perl5
- FreshPorts was unable to extract/find any pkg message
- Master Sites:
|
| Commit History - (may be incomplete: for full details, see links to repositories near top of page) |
| Commit | Credits | Log message |
0.032 08 Jul 2026 13:30:54
    |
Po-Chuan Hsieh (sunpoet)  |
devel/p5-Atomic-Pipe: Update to 0.032
Changes: https://metacpan.org/dist/Atomic-Pipe/changes |
0.029 02 May 2026 21:27:38
    |
Po-Chuan Hsieh (sunpoet)  |
devel/p5-Atomic-Pipe: Update to 0.029
Changes: https://metacpan.org/dist/Atomic-Pipe/changes |
0.028 30 Apr 2026 16:35:30
    |
Po-Chuan Hsieh (sunpoet)  |
devel/p5-Atomic-Pipe: Update to 0.028
- Add TEST_DEPENDS
- Add RECOMMENDED option
Changes: https://metacpan.org/dist/Atomic-Pipe/changes |
0.024 27 Apr 2026 13:07:01
    |
Po-Chuan Hsieh (sunpoet)  |
devel/p5-Atomic-Pipe: Update to 0.024
Changes: https://metacpan.org/dist/Atomic-Pipe/changes |
0.023 18 Apr 2026 21:18:13
    |
Po-Chuan Hsieh (sunpoet)  |
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. |