mirror of
https://gitlab.rtems.org/rtems/rtos/rtems.git
synced 2025-12-05 15:15:44 +00:00
2007-12-19 Jennifer Averett <jennifer.averett@OARcorp.com>
* posix/src/psignalchecksignal.c: Make assert active during debug mode only
This commit is contained in:
@@ -1,3 +1,8 @@
|
|||||||
|
2007-12-19 Jennifer Averett <jennifer.averett@OARcorp.com>
|
||||||
|
|
||||||
|
* posix/src/psignalchecksignal.c: Make assert active during debug mode
|
||||||
|
only
|
||||||
|
|
||||||
2007-12-19 Jennifer Averett <jennifer.averett@OARcorp.com>
|
2007-12-19 Jennifer Averett <jennifer.averett@OARcorp.com>
|
||||||
|
|
||||||
* posix/src/psignal.c: Move source around to enable path testing
|
* posix/src/psignal.c: Move source around to enable path testing
|
||||||
|
|||||||
@@ -53,32 +53,28 @@ boolean _POSIX_signals_Check_signal(
|
|||||||
* Since we made a union of these, only one test is necessary but this is
|
* Since we made a union of these, only one test is necessary but this is
|
||||||
* safer.
|
* safer.
|
||||||
*/
|
*/
|
||||||
|
#if defined(RTEMS_DEBUG)
|
||||||
assert( _POSIX_signals_Vectors[ signo ].sa_handler ||
|
assert( _POSIX_signals_Vectors[ signo ].sa_handler ||
|
||||||
_POSIX_signals_Vectors[ signo ].sa_sigaction );
|
_POSIX_signals_Vectors[ signo ].sa_sigaction );
|
||||||
|
#endif
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Just to prevent sending a signal which is currently being ignored.
|
* Just to prevent sending a signal which is currently being ignored.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
if ( _POSIX_signals_Vectors[ signo ].sa_handler == SIG_IGN )
|
if ( _POSIX_signals_Vectors[ signo ].sa_handler == SIG_IGN )
|
||||||
return FALSE;
|
return FALSE;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Block the signals requested in sa_mask
|
* Block the signals requested in sa_mask
|
||||||
*/
|
*/
|
||||||
|
|
||||||
saved_signals_blocked = api->signals_blocked;
|
saved_signals_blocked = api->signals_blocked;
|
||||||
api->signals_blocked |= _POSIX_signals_Vectors[ signo ].sa_mask;
|
api->signals_blocked |= _POSIX_signals_Vectors[ signo ].sa_mask;
|
||||||
|
|
||||||
/* Here, the signal handler function executes */
|
/*
|
||||||
|
* Here, the signal handler function executes
|
||||||
|
*/
|
||||||
switch ( _POSIX_signals_Vectors[ signo ].sa_flags ) {
|
switch ( _POSIX_signals_Vectors[ signo ].sa_flags ) {
|
||||||
case SA_SIGINFO:
|
case SA_SIGINFO:
|
||||||
/*
|
|
||||||
*
|
|
||||||
* assert( is_global );
|
|
||||||
*/
|
|
||||||
(*_POSIX_signals_Vectors[ signo ].sa_sigaction)(
|
(*_POSIX_signals_Vectors[ signo ].sa_sigaction)(
|
||||||
signo,
|
signo,
|
||||||
&siginfo_struct,
|
&siginfo_struct,
|
||||||
@@ -93,7 +89,6 @@ boolean _POSIX_signals_Check_signal(
|
|||||||
/*
|
/*
|
||||||
* Restore the previous set of blocked signals
|
* Restore the previous set of blocked signals
|
||||||
*/
|
*/
|
||||||
|
|
||||||
api->signals_blocked = saved_signals_blocked;
|
api->signals_blocked = saved_signals_blocked;
|
||||||
|
|
||||||
return TRUE;
|
return TRUE;
|
||||||
|
|||||||
Reference in New Issue
Block a user