I try to do this, but C function dont print to stream :( Maybe i have mistake in code?
sub main {
my $proc_manager = new FCGI::ProcManager({ n_processes => $PRO
+CESSES});
my $socket = FCGI::OpenSocket($SOCKET, 100);
my $request = FCGI::Request(\*STDIN, \*STDOUT, \*STDERR, \%ENV
+, $socket);
my (undef, $out, undef) = $request->GetHandles();
$proc_manager->pm_manage();
while($request->Accept() >= 0){
$proc_manager->pm_pre_dispatch();
my $cgi = CGI::Fast->new();
print "Content-type: text/html\r\n\r\n";
my_print_c($out);
$proc_manager->pm_post_dispatch();
}
FCGI::CloseSocket($socket);
}
__END__
__C__
void my_print_c(SV * fh) {
dSP;
ENTER;
SAVETMPS;
PUSHMARK(SP);
XPUSHs(sv_2mortal(fh));
XPUSHs(sv_2mortal(newSVpv("TEXT", 0)));
PUTBACK;
call_pv("PRINT", G_DISCARD);
FREETMPS;
LEAVE;
}
|