| Eine offene Verbindung ist genau dann in der Menge
$write mit dem zugehörigen Bearbeiter handle_write
vertreten, wenn der Ausgabe-Puffer obuf nicht leer ist.
|
| Bei jedem Aufruf von handle_write wird genau
eine Zeile ausgegeben. Hierfür wird syswrite
verwendet, da dies direkt auf write(2) zurückgeht
und ungepuffert ist.
|
| Wenn der Ausgabe-Puffer dabei geleert wird, dann
wird die Verbindung aus der Menge $write entfernt.
|
| Dieser Lösung liegt die naive Annahme zugrunde, daß
die Ausgabe einer Zeile immer blockierungsfrei klappen
wird, obwohl nur ein Byte sicher geschrieben werden kann
und die Länge der Zeilen nicht begrenzt ist.
|
| Besser wäre es, hier mit nicht-blockierender Ausgabe
zu arbeiten -- aber dann wäre auch die Eingabe nicht-blockierend,
oder es müßte ständig hin- und hergeschaltet werden.
|