devel/p5-forks 0.36_2 FreeBSD
Drop-in replacement for Perl threads using fork()
- System
- FreeBSD
- Repository
- FreeBSD ports
- Maintainer
- [email protected]
- License
- ART10, GPLv1+
- Categories
- devel, perl5
- Package size
- 86.7 KiB, 281.2 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
| System | Port | Version |
|---|---|---|
| FreeBSD | devel/p5-forks | 0.36_2 |
| OpenBSD | devel/p5-forks | 0.36p2 |
| NetBSD | devel/p5-forks | 0.36nb12 |
| DragonFly | devel/p5-forks | 0.36_2 |
| HardenedBSD | devel/p5-forks | 0.36_2 |
| GhostBSD | devel/p5-forks | 0.36_2 |
Install
Binary package:
pkg install p5-forks
From the ports tree:
cd /usr/ports/devel/p5-forks/ && make install clean
To depend on this port in another port's Makefile:
RUN_DEPENDS= p5-forks>0:devel/p5-forks
Packages
The version each package repository carries. “-” means the repository builds no package of it, “n/a” that there is no such repository.
| Repository | aarch64 | amd64 | armv6 | armv7 | i386 |
|---|---|---|---|---|---|
| FreeBSD:14:latest | 0.36_2 | 0.36_2 | 0.36_2 | 0.36_2 | 0.36_2 |
| FreeBSD:14:quarterly | 0.36_2 | 0.36_2 | n/a | 0.36_2 | 0.36_2 |
| FreeBSD:15:latest | 0.36_2 | 0.36_2 | n/a | 0.36_2 | 0.36_2 |
| FreeBSD:15:quarterly | 0.36_2 | 0.36_2 | n/a | n/a | n/a |
| FreeBSD:16:latest | 0.36_2 | 0.36_2 | n/a | n/a | n/a |
| FreeBSD:16:quarterly | n/a | n/a | n/a | n/a | n/a |
Dependencies
As this port's Makefile names them.
Build 5
p5-Acme-Damn>=0: devel/p5-Acme-Damnp5-Attribute-Handlers>=0: devel/p5-Attribute-Handlersp5-Devel-Symdump>=0: devel/p5-Devel-Symdumpp5-List-MoreUtils>=: lang/p5-List-MoreUtilsp5-Sys-SigAction>=0.11: devel/p5-Sys-SigAction
Runtime 5
p5-Acme-Damn>=0: devel/p5-Acme-Damnp5-Attribute-Handlers>=0: devel/p5-Attribute-Handlersp5-Devel-Symdump>=0: devel/p5-Devel-Symdumpp5-List-MoreUtils>=: lang/p5-List-MoreUtilsp5-Sys-SigAction>=0.11: devel/p5-Sys-SigAction
The full lists below include those, and their dependencies in turn.
Build dependencies 10
Run dependencies 10
Required by 1
Configuration
No options to configure.
- USES
- perl5
- Service scripts
- none
Files
pkg-plist 19
- %%PERL5_MAN3%%/forks.3.gz
- %%PERL5_MAN3%%/forks::Devel::Symdump.3.gz
- %%PERL5_MAN3%%/forks::shared.3.gz
- %%PERL5_MAN3%%/forks::signals.3.gz
- %%PERL5_MAN3%%/threads::shared::array.3.gz
- %%PERL5_MAN3%%/threads::shared::handle.3.gz
- %%PERL5_MAN3%%/threads::shared::hash.3.gz
- %%PERL5_MAN3%%/threads::shared::scalar.3.gz
- %%SITE_ARCH%%/auto/forks/forks.so
- %%SITE_ARCH%%/forks.pm
- %%SITE_ARCH%%/forks/Devel/Symdump.pm
- %%SITE_ARCH%%/forks/shared.pm
- %%SITE_ARCH%%/forks/shared/attributes.pm
- %%SITE_ARCH%%/forks/shared/global_filter.pm
- %%SITE_ARCH%%/forks/signals.pm
- %%SITE_ARCH%%/threads/shared/array.pm
- %%SITE_ARCH%%/threads/shared/handle.pm
- %%SITE_ARCH%%/threads/shared/hash.pm
- %%SITE_ARCH%%/threads/shared/scalar.pm
distinfo 1
| File | Size | SHA256 |
|---|---|---|
| forks-0.36.tar.gz | 111143 | 61be24e44f4c6fea230e8354678beb5b7adcfefd909a47db8f0a251b0ab65993 |
Master sites 1
- CPAN/SOAP/RYBSKEJ
Commit history 0
No commits in the history this site was built from.