Ignore:
Timestamp:
Apr 24, 2005, 8:11:46 AM (20 years ago)
Author:
bird
Message:

implemented nanosleep() and base usleep and sleep on it.

File:
1 edited

Legend:

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

    • Property cvs2svn:cvs-rev changed from 1.16 to 1.17
    r1893 r1894  
    9090 */
    9191void __libc_Back_threadEnd(void *pExpRegRec);
     92
     93/**
     94 * Suspend execution of the current thread for a given number of nanoseconds
     95 * or till a signal is received.
     96 *
     97 * @returns 0 on success.
     98 * @returns -EINVAL if the pReqTS is invalid.
     99 * @returns -EINTR if the interrupted by signal.
     100
     101 * @param   ullNanoReq      Time to sleep, in nano seconds.
     102 * @param   pullNanoRem     Where to store remaining time (also nano seconds).
     103
     104 * @remark  For relativly small sleeps this api temporarily changes the thread
     105 *          priority to timecritical (that is, if it's in the normal or idle priority
     106 *          classes) to increase precision. This means that if a signal or other
     107 *          asyncronous event is executed, it will be executed at wrong priority.
     108 *          It also means that if such code changes the priority it will be undone.
     109 */
     110int __libc_Back_threadSleep(unsigned long long ullNanoReq, unsigned long long *pullNanoRem);
    92111
    93112/** @} */
Note: See TracChangeset for help on using the changeset viewer.