Commit | Line | Data |
b3029f84 |
1 | #!/usr/bin/perl |
34bfd355 |
2 | |
3 | use FCGI; |
4 | use Thread; |
cebfd7c4 |
5 | use IO::Handle; |
34bfd355 |
6 | |
7 | use constant THREAD_COUNT => 5; |
8 | |
9 | sub doit { |
10 | my $k = shift; |
11 | my %env; |
cebfd7c4 |
12 | my $in = new IO::Handle; |
13 | my $out = new IO::Handle; |
14 | my $err = new IO::Handle; |
34bfd355 |
15 | |
6ff77aff |
16 | my $request = FCGI::Request($in, $out, $err, \%env); |
34bfd355 |
17 | |
6ff77aff |
18 | while ($request->Accept() >= 0) { |
34bfd355 |
19 | print $out |
20 | "Content-type: text/html\r\n", |
21 | "\r\n", |
6ff77aff |
22 | "<title>FastCGI Hello! (multi-threaded perl, fcgiapp library)</title>", |
23 | "<h1>FastCGI Hello! (multi-threaded perl, fcgiapp library)</h1>", |
34bfd355 |
24 | "Request counts for ", THREAD_COUNT ," threads ", |
25 | "running on host <i>$env{SERVER_NAME}</i><P><CODE>"; |
26 | |
34bfd355 |
27 | { |
28 | lock(@count); |
cebfd7c4 |
29 | |
30 | ++$count[$k]; |
31 | |
34bfd355 |
32 | for(my $i = 0; $i < THREAD_COUNT; ++$i) { |
33 | print $out $count[$i]; |
34 | print $out " "; |
35 | } |
36 | } |
d8cc97fb |
37 | $request->Flush(); |
34bfd355 |
38 | sleep(1); |
39 | } |
40 | } |
41 | |
42 | for ($t = 1; $t < THREAD_COUNT; ++$t) { |
43 | new Thread \&doit, $t; |
44 | } |
45 | doit(0); |