|
Server : LiteSpeed System : Linux srv104790275 5.15.0-161-generic #171-Ubuntu SMP Sat Oct 11 08:17:01 UTC 2025 x86_64 User : dewac4139 ( 1077) PHP Version : 8.0.30 Disable Function : pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_get_handler,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,pcntl_async_signals,pcntl_unshare, Directory : /usr/share/doc/libfcgi-perl/examples/ |
Upload File : |
#!/usr/bin/perl
use strict;
use warnings;
use threads;
use threads::shared;
use FCGI qw[];
use IO::Handle qw[];
use constant THREAD_COUNT => 5;
my @count : shared = (0, (0) x THREAD_COUNT);
sub worker {
my $k = shift;
my %env;
my $in = IO::Handle->new;
my $out = IO::Handle->new;
my $err = IO::Handle->new;
my $request = FCGI::Request($in, $out, $err, \%env);
while ($request->Accept >= 0) {
print $out
"Content-type: text/html\r\n",
"\r\n",
"<title>FastCGI Hello! (multi-threaded perl, fcgiapp library)</title>",
"<h1>FastCGI Hello! (multi-threaded perl, fcgiapp library)</h1>",
"Request counts for ", THREAD_COUNT ," threads ",
"running on host <i>$env{SERVER_NAME}</i>";
{
lock(@count);
++$count[$k];
for(my $i = 1; $i <= THREAD_COUNT; $i++) {
print $out $count[$i];
print $out " ";
}
}
$request->Flush;
sleep(1);
}
}
$_->join for map { threads->create(\&worker, $_) } 1..THREAD_COUNT;