Ignore:
Timestamp:
Nov 7, 2004, 3:19:42 PM (21 years ago)
Author:
bird
Message:

More signal debugging and cleanup.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/emx/include/InnoTekLIBC/thread.h

    • Property cvs2svn:cvs-rev changed from 1.8 to 1.9
    r1617 r1618  
    5050*******************************************************************************/
    5151struct _uheap;
     52
     53/**
     54 * sigwait,sigwaitinfo, sigtimedwait data.
     55 */
     56typedef volatile struct __libc_thread_sigwait
     57{
     58    /** Done waitin' indicator.*/
     59    volatile int    fDone;
     60    /** The signals we're waiting for. */
     61    sigset_t        SigSetWait;
     62    /** The where to return signal info. */
     63    siginfo_t       SigInfo;
     64} __LIBC_THREAD_SIGWAIT, *__LIBC_PTHREAD_SIGWAIT;
     65
     66
     67/**
     68 * sigsuspend data.
     69 */
     70typedef volatile struct __libc_thread_sigsuspend
     71{
     72    /** Done waitin' indicator.*/
     73    volatile int    fDone;
     74} __LIBC_THREAD_SIGSUSPEND, *__LIBC_PTHREAD_SIGSUSPEND;
     75
    5276
    5377/**
     
    150174
    151175    /** Thread status, chiefly used for the u member of the thread structure. */
    152     enum enmLIBCThreadStatus
     176    volatile enum enmLIBCThreadStatus
    153177    {
    154178        /** The thread status must be queried from the OS. */
     
    158182        /** The thread is in a sigwait(), sigwaitinfo(), or sigtimedwait() call. */
    159183        enmLIBCThreadStatus_sigwait,
     184        /** The thread is in a sigsuspend() call. */
     185        enmLIBCThreadStatus_sigsuspend,
    160186    }               enmStatus;
    161187
     
    166192    {
    167193        /** enmLIBCThreadStatus_startup:    Begin Thread Arguments. */
    168         struct __libc_thread_startup
     194        struct __libc_thread_u_startup
    169195        {
    170196            /** Thread argument. */
     
    175201
    176202        /** enmLIBCThreadStatus_sigwait:    Thread blocked in sigwait(), sigwaitinfo() or sigtimedwait(). */
    177         struct __libc_thread_sigwait
    178         {
    179             /** The signals we're waiting for. */
    180             sigset_t    SigSetWait;
    181             /** The where to return signal info. */
    182             siginfo_t  *pSigInfo;
    183         } SigWait;
     203        __LIBC_PTHREAD_SIGWAIT      pSigWait;
     204        /** enmLIBCThreadStatus_sigsuspend: Thread blocked in sigsuspend(). */
     205        __LIBC_PTHREAD_SIGSUSPEND   pSigSuspend;
    184206    } u;
    185207
     
    211233} __LIBC_THREAD;
    212234
     235
    213236#ifndef __LIBC_THREAD_DECLARED
    214237#define __LIBC_THREAD_DECLARED
Note: See TracChangeset for help on using the changeset viewer.