Changeset 1825


Ignore:
Timestamp:
Mar 13, 2005, 11:45:22 AM (20 years ago)
Author:
bird
Message:

Fixed select EINTR problem.

Location:
trunk/src/emx
Files:
2 edited

Legend:

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

    • Property cvs2svn:cvs-rev changed from 1.11 to 1.12
    r1824 r1825  
    169169    volatile unsigned   fSigBeingPoked;
    170170
     171    /** The millisecond timestamp of the last signal.
     172     * This is used to detect system call interruptions (select). The function will clear
     173     * before doing the system call and evaluate it when the call returns. signals.c will set it
     174     * when ever a thread enters for processing a signal asynchronously. */
     175    volatile unsigned long      ulSigLastTS;
    171176
    172177
  • trunk/src/emx/src/lib/sys/signals.c

    • Property cvs2svn:cvs-rev changed from 1.23 to 1.24
    r1824 r1825  
    963963
    964964    /*
    965      * Get the current thread.
     965     * Get the current thread and update the last signal timestamp.
    966966     * There *MUST* be a current thread, if not, we're toast!
    967967     */
     
    982982        }
    983983    }
     984    pThrd->ulSigLastTS = fibGetMsCount();
    984985
    985986    /*
     
    25412542
    25422543    /*
    2543      * Get the current thread (1st thread, so that should be safe).
     2544     * Get the current thread (1st thread, so that should be safe)
     2545     * and set the last signal TS.
    25442546     */
    25452547    __LIBC_PTHREAD  pThrd = __libc_threadCurrentNoAuto();
     
    25492551        LIBCLOG_RETURN_VOID();
    25502552    }
     2553    pThrd->ulSigLastTS = fibGetMsCount();
    25512554
    25522555    /*
     
    26522655
    26532656    /*
    2654      * Get thread structure.
     2657     * Get thread structure and set the signal TS.
    26552658     */
    26562659    __LIBC_PTHREAD pThrd = __libc_threadCurrentNoAuto();
    26572660    if (pThrd)
    26582661    {
     2662        pThrd->ulSigLastTS = fibGetMsCount();
     2663
    26592664        /*
    26602665         * Take signal semaphore.
Note: See TracChangeset for help on using the changeset viewer.