Document ID: /fineweb-2-swissfilter-quality_10-filterrobots/filtered/03647.jsonl.gz/938

Dieses Modul definiert einige Prozeduren, welche das Arbeiten mit den Listen, Tasks, Ports und I/O-Operationen von Exec erleichtern.
NewList initialisiert einen Listenkopf. Der Speicher für den Listenkopf muss schon zuvor alloziert werden. NewList beschränkt sich darauf, die einzelnen Zeiger des Listenkopfes richtig zu setzen.
BeginIO ruft die gleichnamige Routine des angegebenen Device auf.
AbortIO ruft die gleichnamige Routine des angegebenen Device auf.
CreatePort alloziert Speicherplatz und ein Signal für einen MsgPort und führt auch alle nötigen Initialisierungen durch. Falls der portName nicht NIL ist, wird der Port als öffentlicher Port eingetragen. Wenn der Port nicht mehr benötigt wird, muss er mit DeletePort wieder freigegeben werden.
DeletePort dealloziert den für den MsgPort allozierten Speicher und das allozierte Signal.
CreateExtIO alloziert Speicher für einen erweiterten I/O-Request. Wird der I/O-Request nicht mehr benötigt, muss sein Speicherplatz mit einem Aufruf von DeleteExtIO wieder freigegeben werden.
DeleteExtIO gibt den Speicherplatz eines erweiterten I/O-Request wieder frei.
CreateStdIO wie CreateExtIO aber für einen ,,standard`` I/O-Request.
DeleteStdIO wie DeleteExtIO aber für einen ,,standard`` I/O-Request.
CreateTask erstellt einen neuen Task und fügt ihn in die Task Liste ein. Der Task-Node wird dabei so initialisiert, dass beim Beenden des Tasks sowohl der für den Task-Node wie auch der für den Stack allozierte Speicher automatisch freigegeben wird.
DeleteTask beendet einen Task.