Re: Problem mit FCGI und Perl
Hallo Björn, Am 15.07.2014 um 16:36 schrieb Bjoern Hoehrmann : > * Michael Wenko wrote: >> Dies führt unter Umständen dazu, dass die Antwort auf den Request den Client >> nicht mehr erreicht und stattdessen der Apache einen 500 Fehler an den >> Client schickt, obwohl >> der Prozess erst beendet wird, nachdem die vollständige Antwort an den >> Client geschrieben wurde. Ich habe schon probiert dem FCGI Objekt einen Hint >> zu schicken, dass die >> Antwort vollständig ist: $fcgirequest->Finish() Aber das bewirkt nicht, dass >> der Client die Antwort anzeigt. > > Vermutlich suchst Du `$req->LastCall()`. Ja, sowas hatte ich gesucht, liefert aber leider den gleichen Effekt, wenn ich das aufrufe, bekommt der Client vom Webserver einen 500 HTTP Fehler geliefert und im Log findet sich die Meldung, dass der Perl Prozess unerwartet beendet wurde. Nach Verlassen der FCGI Schleife beendet sich das Program aber regulär aus meiner Sicht. Offenbar ist das aber aus Sicht des Apache nicht der Fall. Greife ich auf den Service via Proxy oder Firewall zu, verhält sich der Client korrekt, als würde die Antwort auf dem Weg 'repariert/vervollständigt' oder etwas 'ausgefiltert'. Gibt es eine Idee, an welcher Stelle ich weiter graben/testen/suchen sollte, um diesem Phänomen auf die Schliche zu kommen? Mit freundlichen Grüßen, Michael Wenko -- ECCE TERRAM Internet Services GmbH Michael Wenko An der grossen Wisch 36, D-26133 Oldenburg phone: +49 441 500 120, fax: +49 441 500 1229 OL HRB 3757, GL: F. Simon "Social Media is like teen sex. Everyone wants to do it. Nobody knows how. When its finally done there is surprise it's not better." Avianash Kaushik signature.asc Description: Message signed with OpenPGP using GPGMail
Re: Problem mit FCGI und Perl
* Michael Wenko wrote: >Dies führt unter Umständen dazu, dass die Antwort auf den Request den Client >nicht mehr erreicht und stattdessen der Apache einen 500 Fehler an den Client >schickt, obwohl >der Prozess erst beendet wird, nachdem die vollständige Antwort an den Client >geschrieben wurde. Ich habe schon probiert dem FCGI Objekt einen Hint zu >schicken, dass die >Antwort vollständig ist: $fcgirequest->Finish() Aber das bewirkt nicht, dass >der Client die Antwort anzeigt. Vermutlich suchst Du `$req->LastCall()`. -- Björn Höhrmann · mailto:bjo...@hoehrmann.de · http://bjoern.hoehrmann.de Am Badedeich 7 · Telefon: +49(0)160/4415681 · http://www.bjoernsworld.de 25899 Dagebüll · PGP Pub. KeyID: 0xA4357E78 · http://www.websitedev.de/ - To unsubscribe, e-mail: users-de-unsubscr...@httpd.apache.org For additional commands, e-mail: users-de-h...@httpd.apache.org
Problem mit FCGI und Perl
Hallo, ich möchte in Perl (FCGI.pm) unter Umständen die FCGI Schleife (while fcgi->Accept) verlassen und die Instanz, die den letzten Request bearbeitet hat, zu beenden. Dazu verlasse ich die Schleife derzeit mit last: while( $fcgirequest->Accept ) { ... if( $beendeDich ) { last; } } Dies führt unter Umständen dazu, dass die Antwort auf den Request den Client nicht mehr erreicht und stattdessen der Apache einen 500 Fehler an den Client schickt, obwohl der Prozess erst beendet wird, nachdem die vollständige Antwort an den Client geschrieben wurde. Ich habe schon probiert dem FCGI Objekt einen Hint zu schicken, dass die Antwort vollständig ist: $fcgirequest->Finish() Aber das bewirkt nicht, dass der Client die Antwort anzeigt. Apache ist Version 2.2.15. Hat jemand eine Hinweis, wieso diese Vorgehensweise problematisch ist oder wie man auf besser Art und Weise den Lebenszyklus einer Instanz beenden sollte? Mit freundlichen Grüßen, Michael Wenko -- ECCE TERRAM Internet Services GmbH Michael Wenko An der grossen Wisch 36, D-26133 Oldenburg phone: +49 441 500 120, fax: +49 441 500 1229 OL HRB 3757, GL: F. Simon "Social Media is like teen sex. Everyone wants to do it. Nobody knows how. When its finally done there is surprise it's not better." Avianash Kaushik signature.asc Description: Message signed with OpenPGP using GPGMail