BSD Ports

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

SystemPortVersion
FreeBSDdevel/p5-forks0.36_2
OpenBSDdevel/p5-forks0.36p2
NetBSDdevel/p5-forks0.36nb12
DragonFlydevel/p5-forks0.36_2
HardenedBSDdevel/p5-forks0.36_2
GhostBSDdevel/p5-forks0.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.

Repositoryaarch64amd64armv6armv7i386
FreeBSD:14:latest0.36_20.36_20.36_20.36_20.36_2
FreeBSD:14:quarterly0.36_20.36_2n/a0.36_20.36_2
FreeBSD:15:latest0.36_20.36_2n/a0.36_20.36_2
FreeBSD:15:quarterly0.36_20.36_2n/an/an/a
FreeBSD:16:latest0.36_20.36_2n/an/an/a
FreeBSD:16:quarterlyn/an/an/an/an/a

Dependencies

As this port's Makefile names them.

Build 5

Runtime 5

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
FileSizeSHA256
forks-0.36.tar.gz11114361be24e44f4c6fea230e8354678beb5b7adcfefd909a47db8f0a251b0ab65993
Master sites 1
  • CPAN/SOAP/RYBSKEJ

Commit history 0

No commits in the history this site was built from.