•  Back 
  •  Typdefinitionen 
  •  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-File16.9.17  THREADINFO                                                TOS

typedef struct
{
   int32_t cdecl (*proc)(void *par);
   void          *user_stack;
   uint32_t      stacksize;
   int16_t       mode;
   int32_t       res1;
} THREADINFO;

Hinweis: Ist die Komponente user_stack NULL, so legt das System selbst 
den Stack an. Wenn der Thread terminiert, wird der Stack automatisch 
vom System wieder freigegeben. Die Komponente stacksize ist in jedem 
Fall anzugeben, damit das System den Stackpointer des Threads auf das 
Ende des Stacks setzen kann. Der Systemstapel (Supervisior-Stack) wird 
vom Betriebssystem selbst festgelegt, so daß dessen Größe nicht 
beeinflußt werden kann.

Die Komponenten mode und res1 sind für zukünftige Zwecke reserviert, 
und sollten deshalb auf den Wert 0 bzw. 0L gesetzt werden. In Solaris 
2.x kann man damit z.B. einen Thread bis zum endgültigen Start 
anhalten. Der gestartete Thread führt die Funktion proc aus, der als 
Parameter die Komponente par (auf dem Stack) übergeben wird. Die CPU- 
Register d0-d2 und a0-a2 dürfen von der Funktion verändert werden.

Querverweis: Threads in MagiC   shel_write   Beispiel-Code