Changeset 1621
- Timestamp:
- Nov 7, 2004, 5:07:49 PM (21 years ago)
- Location:
- trunk/src/emx/src/lib/sys
- Files:
-
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/emx/src/lib/sys/b_signalMask.c
-
Property cvs2svn:cvs-rev
changed from
1.2
to1.3
r1620 r1621 74 74 sigset_t SigSetNew; 75 75 sigset_t SigSetOld; 76 sigset_t SigSet;77 76 78 77 /* … … 130 129 131 130 /* 132 * Check if we've unblocked anything and thus made it possible for 133 * pending signals to be delivered. 131 * Check if there are any pending signals with the new mask. 134 132 */ 135 SigSetNew = pThrd->SigSetBlocked; 136 __SIGSET_AND(&SigSet, &SigSetOld, &SigSetNew); 137 if (!__SIGSET_ISEMPTY(&SigSetNew)) 138 { 139 sigset_t SigSetPending; 140 __SIGSET_OR(&SigSetPending, &pThrd->SigSetPending, &__libc_gSignalPending); 141 __SIGSET_AND(&SigSetPending, &SigSetPending, &SigSetNew); 142 if (!__SIGSET_ISEMPTY(&SigSetPending)) 143 __libc_back_signalPokeThread(pThrd); 144 } 133 sigset_t SigSetNotBlocked = pThrd->SigSetBlocked; 134 __SIGSET_NOT(&SigSetNotBlocked); 135 sigset_t SigSetPending; 136 __SIGSET_OR(&SigSetPending, &pThrd->SigSetPending, &__libc_gSignalPending); 137 __SIGSET_AND(&SigSetPending, &SigSetPending, &SigSetNotBlocked); 138 if (!__SIGSET_ISEMPTY(&SigSetPending)) 139 __libc_back_signalReschedule(pThrd); 145 140 } 146 141 -
Property cvs2svn:cvs-rev
changed from
-
trunk/src/emx/src/lib/sys/signals.c
-
Property cvs2svn:cvs-rev
changed from
1.7
to1.8
r1620 r1621 830 830 831 831 /** 832 * Reschedule signals. 833 * Typically called after a block mask have been updated. 834 * 835 * @returns On success a flag mask out of the __LIBC_BSRR_* #defines is returned. 836 * @returns On failure a negative error code (errno.h) is returned. 837 * @param pThrd Current thread. 838 */ 839 int __libc_back_signalReschedule(__LIBC_PTHREAD pThrd) 840 { 841 LIBC_ASSERT(__libc_back_signalSemIsOwner()); 842 signalScheduleSPM(pThrd); 843 signalScheduleProcess(pThrd); 844 return signalDeliver(pThrd, 0, NULL); 845 } 846 847 848 /** 832 849 * Raises a signal in the current process. 833 850 * -
Property cvs2svn:cvs-rev
changed from
-
trunk/src/emx/src/lib/sys/signals.h
-
Property cvs2svn:cvs-rev
changed from
1.2
to1.3
r1620 r1621 48 48 void __libc_back_signalPokeThread(__LIBC_PTHREAD pThrd); 49 49 void __libc_back_signalPokeProcess(void); 50 int __libc_back_signalReschedule(__LIBC_PTHREAD pThrd); 50 51 int __libc_back_signalSuspend(void); 51 52 int __libc_back_signalAccept(__LIBC_PTHREAD pThrd, int iSignalNo, sigset_t *pSigSet, siginfo_t *pSigInfo); -
Property cvs2svn:cvs-rev
changed from
Note:
See TracChangeset
for help on using the changeset viewer.