User-Level Native Thread Primitives (GThread) Library White Paper (G06.27+, H06.03+, J06.03+)
User-Level Native Thread Primitives (GThread Library) 02/15/2012
540065-004 Page 11 of 44
GT_BAD_MAIN_CB: MainCB.GTh_Marker is wrong: the structure is corrupted, or
GTHREAD_INITIALIZE_(...,MainCB) was not called.
GT_BAD_MAIN_STATE: The MainCB context is not valid: the structure is corrupted, or
GTHREAD_SETJMP_(MainCB,...) was not called.
GT_BAD_CB: The designated CB.GTh_Marker is wrong: the structure is corrupted or
GTHREAD_INITIATE_ was not called.
GT_BAD_CB_NEXT: MainCB.ThreadNext.GTh_Marker is wrong.
GT_BAD_CB_PREV: MainCB.ThreadPrev.GTh_Marker is wrong.
GT_BAD_..._ALIGN: A parameter to GTHREAD_INITIATE_ is misaligned:
_START_ @Start is not a multiple of 2 (TNS)
or 4 or 8 (native TNS/R swapped or static)
or 8 or 16 (native TNS/E swapped or static)
_LENGTH_ Length is not a multiple of 2 (TNS) or 8 (TNS/R native) or 16 (TNS/E native)
_ARGSTART_ @ArgStart is not a multiple of 2 (TNS) or 4 (TNS/R and 32-bit TNS/E native)
or 8 (64-bit TNS/E native)
_ARGLEN_ ArgLen is not a multiple of 2 (TNS) or 4 (TNS/R and 32-bit TNS/E native)
or 8 (64-bit TNS/E native)
GT_BAD_ARGLEN: 0 <= ArgLen <= 256 is false in GTHREAD_INITIATE_.
(For TNS/E, the upper bound is 64.)
GT_BAD_LENGTH: minimum <= Length < maximum is false in GTHREAD_INITIATE_
Where minimum is:
0 for TNS, TNS/R and TNS/E swapped and unprotected static,
48KB for TNS/E protected static.
and maximum is:
64 KB – @Start for TNS,
64 KB for TNS/R native swapped,
32 MB for TNS/E native swapped,
32 MB for native unprotected static,
16 MB for TNS/E native protected static.
(These are limits, not necessarily realistic upper bounds.)
GT_BAD_SWAPTIONS: Swaptions parameters to GTHREAD-INTIATE_ specified both swapped
and static options, or both GTS_STATIC_FILL and GTH_PROTECTED options, or
(TNS/E only) it specified a nonzero RegPerCent value outside the range of 10 to 80.
These literals are for the Swaptions parameter to GTHREAD_INITIATE_:
GTS_SWAPPED = 1: This is a swapped thread.
GTS_STATIC_FILL = 2: This is a static thread filled with a fixed pattern.
(Not applicable to protected stacks.)