| update_log wird immer dann aufgerufen, wenn es etwas
(frisch!) zum Einlesen gibt.
Die Lösung ist hier naiv und nimmt an, daß es sich jeweils
um eine Zeile handelt. Besser wäre hier ein nicht-blockierendes
Lesen unter der Verwendung von sysread.
|
| Wenn das Einlesen erfolgreich war, wird die Zeile
an das Ende des Textfensters $logwin angefügt.
Statt 'end' wären auch beliebige andere Positionierungen
denkbar.
|
| Mit $logwin->see('end') wird sichergestellt, daß das
Ende zu sehen ist, falls der gesamte Text nicht mehr
vollständig dargestellt werden kann.
|
| Sollte das Ende der Eingabe erreicht sein (z.B. weil
tail von jemanden abgeschossen wird), dann ist darauf
zu achten, daß die Bearbeitung dieser Ereignisse
rückgängig gemacht wird -- sonst hätten wir eine
CPU-fressende Dauerschleife, da das Ereignis sofort wieder
eintreffen würde.
|