Home TypdefinitionenTypdefinitionen RGB_LISTRGB_LIST XCPBXCPB

I.17 THREADINFO

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


Home TypdefinitionenTypdefinitionen RGB_LISTRGB_LIST XCPBXCPB