Wolfgang Wiese: LWP::UserAgent und Timeout

Beitrag lesen

Hi,

in LWP befindet sich in den Versionen vor 5.18
ein conflicting bug, derart, dass das timeout-Objekt
mit Hilfe von alarmen gesteuert wird.

In Perl kann aber nur ein einziger Alarmsignal
zur Zeit verwendet werden.
Genauer:

lwp setzt timeout-Wert im alarm() auf 10.

Im Programm ruft aber irgendein anderes Modul oder
ein Auruf alarm() nochmal auf. Wenn es nach dem LWP-Aufruf
erfolgt: alarm() wird mit den neuen Aufruf initialisiert.
Ausserdem wird das SIGNAL-Call auf eine andere Funktion gestellt
und nicht die vom LWP.

Ergo:
Wenn du eine version von LWP aelter als 5.18 hast
und IO aelter als 1.20 solltest du beide updaten.

In den neuen Versionen von LWP wird nicht mehr mittels
des alarm()-Befehles der Timeout gemacht.
IO solltest du aus demselben grund updaten.

Ciao,
  Wolfgang