Thread modperl 2.0.5 ist fertig (6 answers)
Opened by torsten at 2011-02-08 09:37

torsten
 2011-02-08 11:33
#145452 #145452
User since
2010-08-16
45 Artikel
BenutzerIn
[Homepage] [default_avatar]
Sicher werde ich irgendwas vergessen. Hier ist mal ein Anfang:

- mitgelieferte Module

* Die mit modperl gelieferten Module Apache::Test und Apache2::SizeLimit haben größere Änderungen erfahren. Über SizeLimit kann ich nicht viel sagen. AT hat viele Bugfixes erfahren, z.B. war es früher nicht möglich, use Apache::Test und use Apache::Test qw/-withtestmore/ im selben Perl Interpreter (aber unterschiedlichen Modulen) zu benutzen.

* Auch hat AT in folgender Situation kompletten Blödsinn fabriziert:
Code: (dl )
1
2
3
t/TEST -start-httpd
t/TEST -runtests
t/TEST -stop-httpd

Hier hat AT früher auch bei -runtests eine neue Konfiguration erstellt, was dann dazu führte, dass der Test möglicherweise andere Ports benutzen wollte, als die auf denen der Server lauscht.

* Die Option t/TEST -times=X wurde beseitigt. Man kann t/SMOKE -times=X anstatt benutzen.

* Apache weigert sich, falls nicht ganz speziell kompiliert, seine Worker-Prozesse als Root laufen zu lassen. Das beschert in AT Probleme, wenn ein Root-User eine Test Suite laufen lassen will. Frühere AT Versionen versuchten hier allerlei Magie, wodurch der Code sehr aufgebläht und unübersichtlich wurde. Aktuelle Versionen liefern eine Fehlermeldung.

* AT bindet nun libapreq2 (Apache2::Request) automatisch in die Test-Konfiguration ein, wenn vorhanden. Auch werden LoadFile Anweisungen übernommen, die man z.B. für mod_proxy_html braucht.

* Apache::Test, Apache::SizeLimit und Apache::Reload sind nun eigenständige Module auf CPAN. Sie werden aber weiterhin mit der mod_perl Distribution mitgeliefert.


- modperl selbst

* Anpassungen an perl 5.13.9++ (lvalue usage of GvCV und GvGP)

* Unterstützung für make install_site und make install_vendor

* APR::Socket::fileno liefert nun den File Descriptor der Verbindung. (außer Windows) Was man damit anstellen kann

* frühere mp2 Versionen hatten einen ekligen Fehler. Sie schlossen unter Umständen die Standard File Descriptoren (STDIN, STDOUT), was dann in anderen Programmen, wie z.B. mit mod_cgi gestarteten Scripts zu unerwarteten Effekten führen konnte, siehe hier und hier.

* frühere mp2 Versionen haben unter Umständen in einem ChildInitHandler in $$ die PID des Vaters angezeigt.

* Apache2::RequestIO::read reagierte unerwartet in einigen Situationen, siehe hier


Wie gesagt, ich habe sicher das eine oder andere vergessen. Viele kleinere Änderungen habe ich nicht erwähnt. Der interessierte Leser findet sie in den entsprechenden Changes Files.

View full thread modperl 2.0.5 ist fertig