•  Back 
  •  Allgemeines zum Shutdown 
  •  Index 
  •  Tree View 
  •  Cross references 
  •  Help page 
  •  Show info about hypertext 
  •  View a new file 
Topic       : TOS - das Betriebssystem
Author      : 
Version     : tos.hyp (5. März 2013)
Subject     : Programmieren/Atari
Nodes       : 3001
Index Size  : 93602
HCP-Version : 5
Compiled on : Atari
@charset    : atarist
@lang       : 
@default    : Titel
@help       : 
@options    : +g -i -s +x +zz -t4
@width      : 70
View Ref-File11.14.2  Shutdown in MagiC                                         TOS

Unter MagiC funktioniert der Shutdown wie folgt: alle laufenden 
Programme erhalten eine AP_TERM-Nachricht die signalisiert, daß sie 
sich beenden sollen. Sind nach einer gewissen Zeit immer noch 
Programme im Speicher, so gibt SHUTDOWN eine Fehlermeldung aus. In der 
Datei SHUTDOWN.INF können Programmnamen (ohne Suffix wie ".prg" oder 
".app") angegeben werden, die unkritisch sind und nicht zu einer 
Fehlermeldung durch SHUTDOWN führen sollen.

Darüber hinaus sollten die folgenden Punkte beachtet werden:

   ∙ Wenn das System über Ctrl-Alt-Del beenden werden soll muss darauf 
     geachtet werden daß der Bildschirm nicht gesperrt ist, d.h. daß 
     z.B. nicht gerade ein Programm eine Dialogbox oder Alertbox auf 
     dem Bildschirm bearbeitet. Weiterhin muß eine geeignete Shell 
     (MAGXDESK, Thing) geladen sein, d.h. es darf kein Programm im 
     "single mode" oder im Modus "Shell nicht resident" (z.B. per 
     Alt-Doppelklick) geladen sein.

   ∙ Ist der Bildschirm gesperrt, wird nur der Writeback-Daemon 
     beendet, d.h. der Cache zurückgeschrieben. Erst nach Freigeben 
     des Bildschirms (d.h. nach Schließen der Dialogbox oder Alertbox) 
     kann der Shutdown durchgeführt werden.

   ∙ Sollte das System derart abgestürzt sein, daß kein Shutdown mehr 
     möglich ist, sollte Ctrl-Alt-Del ein zweites Mal betätigt werden. 
     Dann wird ein Warmstart durchgeführt, ohne daß Programme beendet 
     werden.

   ∙ Ist der "single mode" aktiv oder die Shell nicht geladen, wird 
     ebenfalls nur der Writeback-Daemon beendet und der Cache 
     zurückgeschrieben. Für den vollständigen Shutdown muß erst das 
     laufende Programm beendet werden so daß die Shell wieder aktiv 
     ist. Der Shutdown muss dann über den Menüpunkt Datei/Ausschalten 
     durchgeführt werden.

In MagiC 4 wurde der Shutdown Mechanismus wie folgt überarbeitet: Das 
AES schickt jetzt eine SHUT_COMPLETED-Nachricht mit msg[3] = 0 (d.h. 
'Shutdown erfolglos beendet') und msg[4] = -1 (ungültige ap_id), wenn 
nur noch Programme im System sind, die nicht exlizit AP_TERM 
verstehen. Damit bricht ein Programm, das nur die MultiTOS- 
Spezifikation beherrscht, den Shutdown ab. SHUTDOWN.PRG dagegen wurde 
an die neue Spezifikation angepaßt, und funktioniert wie bisher, d.h. 
gibt den noch laufenden Programmen einen Timeout und gibt dann die 
Namen aller unwilligen Applikationen aus.

Darüber hinaus bekommt die Applikation #0 bei Ctrl-Alt-Del keine 
zufälligen Daten mehr in msg[4,5,6,7] übergeben, sondern die folgende 
Nachricht:

  msg[3]     = -1
  msg[4,6,7] =  0
  msg[5]     = AP_TERM

Querverweis:
Shutdown in MultiTOS   shel_write   Shutdown beim Empfänger 
Shutdown beim Initiator