Changeset 1618 for trunk/src/emx/include/InnoTekLIBC
- Timestamp:
- Nov 7, 2004, 3:19:42 PM (21 years ago)
- Location:
- trunk/src/emx/include/InnoTekLIBC
- Files:
-
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/emx/include/InnoTekLIBC/backend.h
-
Property cvs2svn:cvs-rev
changed from
1.9
to1.10
r1617 r1618 560 560 * 561 561 * @returns 0 on success. 562 * @returns -Negative errnoon failure.562 * @returns Negative error code (errno) on failure. 563 563 * @param iSignalNo Signal number. 564 564 * @param pSigAct Pointer to new signal action. … … 570 570 571 571 /** 572 * Change interrupt/restart system call properties for a signal. 573 * 574 * @returns 0 on success. 575 * @returns Negative error code (errno) on failure. 576 * @param iSignalNo Signal number to change interrupt/restart 577 * properties for. 578 * @param fFlag If set Then clear the SA_RESTART from the handler action. 579 * If clear Then set the SA_RESTART from the handler action. 580 * @remark The SA_RESTART flag is inherited when using signal(). 581 */ 582 int __libc_Back_signalInterrupt(int iSignalNo, int fFlag); 583 584 /** 572 585 * Changes and/or queries the alternative signal stack settings of a thread. 573 586 * … … 584 597 * 585 598 * @returns 0 on success. 586 * @returns -1 and errno set to EINVALon failure.599 * @returns Negative error code (errno) on failure. 587 600 * @param pThrd Thread to apply this to. 588 601 * @param iHow Describes the action taken if pSigSetNew not NULL. Recognized … … 604 617 int __libc_Back_signalMask(__LIBC_PTHREAD pThrd, int iHow, const sigset_t * __restrict pSigSetNew, sigset_t * __restrict pSigSetOld); 605 618 619 /** 620 * Wait for one or more signals and remove and return the first of them 621 * to occur. 622 * 623 * Will return immediately if one of the signals is already pending. If more than 624 * one signal is pending the signal with highest priority will be returned. 625 * 626 * @returns Signal number on success. 627 * @returns Negative error code (errno) on failure. 628 * @param pSigSet Signals to wait for. 629 * @param pSigInfo Where to store the signal info for the signal 630 * that we accepted. 631 * @param pTimeout Timeout specification. If NULL wait for ever. 632 */ 633 int __libc_Back_signalWait(const sigset_t *pSigSet, siginfo_t *pSigInfo, const struct timespec *pTimeout); 634 635 /** 636 * Suspends the current thread till a signal have been handled. 637 * The signal semaphore is owned. 638 * 639 * @returns Negative error code (errno) on failure. (allways fails) 640 * @param pSigSet Temporary signal mask for the thread. 641 */ 642 int __libc_Back_signalSuspend(const sigset_t *pSigSet); 643 644 /** 645 * Gets the set of signals which are blocked by the current thread and are 646 * pending on the process or the calling thread. 647 * 648 * @returns 0 indicating success. 649 * @returns Negative error code (errno) on failure. 650 * @param pSigSet Pointer to signal set where the result is to be stored. 651 */ 652 int __libc_Back_signalPending(sigset_t *pSigSet); 653 606 654 /** @} */ 607 655 -
Property cvs2svn:cvs-rev
changed from
-
trunk/src/emx/include/InnoTekLIBC/libc.h
-
Property cvs2svn:cvs-rev
changed from
1.1
to1.2
r1617 r1618 29 29 30 30 #include <sys/cdefs.h> 31 #include <sys/signal.h> 31 32 32 33 __BEGIN_DECLS … … 41 42 extern int __libc_gfNoUnix; 42 43 44 /** Signal set of the signals which will interrupt system call execution. 45 * By default all signals will interrupt syscall execution, since OS/2 can't really 46 * restart system calls easily. 47 * Update is protected by the signal semaphore, however read access isn't. 48 */ 49 extern sigset_t __libc_gSignalRestartMask; 50 43 51 __END_DECLS 44 52 -
Property cvs2svn:cvs-rev
changed from
-
trunk/src/emx/include/InnoTekLIBC/thread.h
-
Property cvs2svn:cvs-rev
changed from
1.8
to1.9
r1617 r1618 50 50 *******************************************************************************/ 51 51 struct _uheap; 52 53 /** 54 * sigwait,sigwaitinfo, sigtimedwait data. 55 */ 56 typedef 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 */ 70 typedef volatile struct __libc_thread_sigsuspend 71 { 72 /** Done waitin' indicator.*/ 73 volatile int fDone; 74 } __LIBC_THREAD_SIGSUSPEND, *__LIBC_PTHREAD_SIGSUSPEND; 75 52 76 53 77 /** … … 150 174 151 175 /** Thread status, chiefly used for the u member of the thread structure. */ 152 enum enmLIBCThreadStatus176 volatile enum enmLIBCThreadStatus 153 177 { 154 178 /** The thread status must be queried from the OS. */ … … 158 182 /** The thread is in a sigwait(), sigwaitinfo(), or sigtimedwait() call. */ 159 183 enmLIBCThreadStatus_sigwait, 184 /** The thread is in a sigsuspend() call. */ 185 enmLIBCThreadStatus_sigsuspend, 160 186 } enmStatus; 161 187 … … 166 192 { 167 193 /** enmLIBCThreadStatus_startup: Begin Thread Arguments. */ 168 struct __libc_thread_ startup194 struct __libc_thread_u_startup 169 195 { 170 196 /** Thread argument. */ … … 175 201 176 202 /** 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; 184 206 } u; 185 207 … … 211 233 } __LIBC_THREAD; 212 234 235 213 236 #ifndef __LIBC_THREAD_DECLARED 214 237 #define __LIBC_THREAD_DECLARED -
Property cvs2svn:cvs-rev
changed from
Note:
See TracChangeset
for help on using the changeset viewer.