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