forked from Imagelibrary/rtems
2007-12-19 Jennifer Averett <jennifer.averett@OARcorp.com>
* posix/src/psignal.c: Move source around to enable path testing
This commit is contained in:
@@ -1,3 +1,7 @@
|
|||||||
|
2007-12-19 Jennifer Averett <jennifer.averett@OARcorp.com>
|
||||||
|
|
||||||
|
* posix/src/psignal.c: Move source around to enable path testing
|
||||||
|
|
||||||
2007-12-19 Joel Sherrill <joel.sherrill@OARcorp.com>
|
2007-12-19 Joel Sherrill <joel.sherrill@OARcorp.com>
|
||||||
|
|
||||||
* libcsupport/Makefile.am, libcsupport/include/rtems/malloc.h,
|
* libcsupport/Makefile.am, libcsupport/include/rtems/malloc.h,
|
||||||
|
|||||||
@@ -117,38 +117,39 @@ void _POSIX_signals_Post_switch_extension(
|
|||||||
* The first thing done is to check there are any signals to be
|
* The first thing done is to check there are any signals to be
|
||||||
* processed at all. No point in doing this loop otherwise.
|
* processed at all. No point in doing this loop otherwise.
|
||||||
*/
|
*/
|
||||||
|
while (1) {
|
||||||
|
restart:
|
||||||
|
_ISR_Disable( level );
|
||||||
|
if ( !(~api->signals_blocked &
|
||||||
|
(api->signals_pending | _POSIX_signals_Pending)) ) {
|
||||||
|
_ISR_Enable( level );
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
_ISR_Enable( level );
|
||||||
|
|
||||||
restart:
|
for ( signo = SIGRTMIN ; signo <= SIGRTMAX ; signo++ ) {
|
||||||
_ISR_Disable( level );
|
|
||||||
if ( !(~api->signals_blocked &
|
|
||||||
(api->signals_pending | _POSIX_signals_Pending)) ) {
|
|
||||||
_ISR_Enable( level );
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
_ISR_Enable( level );
|
|
||||||
|
|
||||||
for ( signo = SIGRTMIN ; signo <= SIGRTMAX ; signo++ ) {
|
if ( _POSIX_signals_Check_signal( api, signo, FALSE ) )
|
||||||
|
goto restart;
|
||||||
|
|
||||||
if ( _POSIX_signals_Check_signal( api, signo, FALSE ) )
|
if ( _POSIX_signals_Check_signal( api, signo, TRUE ) )
|
||||||
goto restart;
|
goto restart;
|
||||||
|
|
||||||
if ( _POSIX_signals_Check_signal( api, signo, TRUE ) )
|
}
|
||||||
goto restart;
|
|
||||||
|
|
||||||
|
/* XXX - add __SIGFIRSTNOTRT or something like that to newlib signal .h */
|
||||||
|
|
||||||
|
for ( signo = SIGHUP ; signo <= __SIGLASTNOTRT ; signo++ ) {
|
||||||
|
|
||||||
|
if ( _POSIX_signals_Check_signal( api, signo, FALSE ) )
|
||||||
|
goto restart;
|
||||||
|
|
||||||
|
if ( _POSIX_signals_Check_signal( api, signo, TRUE ) )
|
||||||
|
goto restart;
|
||||||
|
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
return;
|
||||||
/* XXX - add __SIGFIRSTNOTRT or something like that to newlib signal .h */
|
|
||||||
|
|
||||||
for ( signo = SIGHUP ; signo <= __SIGLASTNOTRT ; signo++ ) {
|
|
||||||
|
|
||||||
if ( _POSIX_signals_Check_signal( api, signo, FALSE ) )
|
|
||||||
goto restart;
|
|
||||||
|
|
||||||
if ( _POSIX_signals_Check_signal( api, signo, TRUE ) )
|
|
||||||
goto restart;
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/*PAGE
|
/*PAGE
|
||||||
|
|||||||
Reference in New Issue
Block a user