devel/p5-forks 0.36_2 DragonFly
Drop-in replacement for Perl threads using fork()
- System
- DragonFly
- Repository
- DPorts
- Maintainer
- [email protected] (as in FreeBSD)
- License
- ART10, GPLv1+
- Categories
- devel, perl5
- Package size
- 85.4 KiB, 281.7 KiB installed
Description
The "forks" pragma allows a developer to use threads without having to have a threaded perl, or to even run 5.8.0 or higher. There were a number of goals that I am trying to reach with this implementation.
The standard Perl 5.8.0 threads implementation is very memory consuming, which makes it basically impossible to use in a production environment, particularly with mod_perl and Apache. Because of the use of the standard Unix fork() capabilities, most operating systems will be able to use the Copy-On-Write (COW) memory sharing capabilities (whereas with the standard Perl 5.8.0 threads implementation, this is thwarted by the Perl interpreter cloning process that is used to create threads). The memory savings have been confirmed.
You should be able to run threaded applications unchanged by simply making sure that the "forks" and "forks::shared" modules are loaded, e.g. by specifying them on the command line.
In the other systems
The newest version among them is 0.36, as upstream numbers it.
| System | Port | Version | Vulnerabilities | Status | Maintainer | Last update |
|---|---|---|---|---|---|---|
| DragonFly | devel/p5-forks | 0.36_2 newest | none known | - | [email protected] | - |
| FreeBSD | devel/p5-forks | 0.36_2 newest | none known | - | [email protected] | - |
| OpenBSD | devel/p5-forks | 0.36p2 newest | no data | - | The OpenBSD ports mailing-list <[email protected]> | - |
| NetBSD | devel/p5-forks | 0.36nb12 newest | none known | - | [email protected] | 2026-07-16 |
| HardenedBSD | devel/p5-forks | 0.36_2 newest | no data | - | [email protected] | - |
| GhostBSD | devel/p5-forks | 0.36_2 newest | no data | - | [email protected] | - |
Install
Binary package:
pkg install p5-forks
From DPorts:
cd /usr/dports/devel/p5-forks && make install clean
Dependency graph
Ports that need it on the left, what it needs to run on the right; at most 8 of each. "Dependencies" below lists them all.