Thread Signal PIPE wird nicht getrappt (CGI)
(18 answers)
Opened by GwenDragon at 2012-10-25 17:20
Mir ging es um die Situation, wo sleep benutzt wird, um das Programm kurz zu verzögern, aber währenddessen sicher zu sein, dass die Browserverbindung noch steht.
//EDIT: Und um das Problem, dass sleep die Signale schluckt. Dass sleep so einen hohen Wert hat, liegt nur an meinem Testcase. //EDIT: Sicherlich kannst du nach dem sleep mit print Daten an den Client ausgeben und bei einem fail reagieren. Wenn aber viele print ans STDOUT vorhanden sind wie bei einem CGI, dann wird es haarig, bei jeder Anweisung zu prüfen, oder es wird gleich ein Templating-System genommen, das ist dann meist nur ein print, da ists einfacher. Schöner wäre es, wenn SIGPIPE da als Exceptionhandler funktionieren würde. Mal ganz ehrlich an die Runde: Wer von euch würde jedes print auf fail bei CGI überprüfen? Oder packt ihr die kritische Programmteil in ein eval (aka try + catch), was ja sinnvoll ist? Das Problem, warum sleep Signale "blockt", ist allerdings für mich noch nicht transparent. Weiß da noch jemand was? oder sollte ich mal bei den Mönchen fragen? //EDIT: Bin mal ins Perl-Kloster und fragte unter ![]() Last edited: 2012-10-28 12:36:41 +0100 (CET) |