Changeset 23556
- Timestamp:
- 11/13/08 18:57:39 (5 years ago)
- Files:
-
- 1 modified
-
lang/perl/MENTA/trunk/bin/cgi-server.pl (modified) (4 diffs)
Legend:
- Unmodified
- Added
- Removed
-
lang/perl/MENTA/trunk/bin/cgi-server.pl
r23555 r23556 14 14 15 15 sub TIEHANDLE { 16 my ($class, $ bufref) = @_;17 bless { buf => $bufref}, $class;16 my ($class, $in, $outref) = @_; 17 bless {out => $outref, in => $in, pos => 0}, $class; 18 18 } 19 19 20 20 sub WRITE { 21 21 my $self = shift; 22 ${$self->{ buf}} .= shift;22 ${$self->{out}} .= shift; 23 23 } 24 24 25 sub READ { croak "このハンドルは読み込み専用です" } 25 # $self->READ(buf, len, offset); 26 # copy from IO::Scalar 27 sub READ { 28 my $self = $_[0]; 29 my $n = $_[2]; 30 my $off = $_[3] || 0; 31 32 my $read = substr( $self->{in}, $self->{pos}, $n ); 33 $n = length($read); 34 $self->{pos} += $n; 35 ( $off ? substr( $_[1], $off ) : $_[1] ) = $read; 36 return $n; 37 } 26 38 sub CLOSE { } 27 39 } … … 33 45 sub bind_stdout { 34 46 my ($code, ) = @_; 35 tie *STDOUT, 'MENTA::BindSTDOUT::Tie', \my $out; 47 my $in; 48 read(STDIN, $in, $ENV{CONTENT_LENGTH}); 49 tie *STDOUT, 'MENTA::BindSTDOUT::Tie', $in, \my $out; 36 50 $code->(); 37 51 untie *STDOUT; … … 42 56 my $pid = fork(); 43 57 if ($pid) { 44 close STDIN;45 close STDOUT;46 58 waitpid($pid, POSIX::WNOHANG); 47 59 } elsif ($pid == 0) { … … 65 77 } 66 78 67 MENTA::Server->new(5555)->run; 79 my $server = MENTA::Server->new(5555); 80 $server->run; 68 81
![(please configure the [header_logo] section in trac.ini)](/share/chrome/site/your_project_logo.png)