forked from Imagelibrary/rtems
pthread_kill: fixed the move of SIG_IGN not SA_SIGINFO
This commit is contained in:
@@ -1247,8 +1247,8 @@ int pthread_kill(
|
|||||||
if ( sig && !is_valid_signo(sig) )
|
if ( sig && !is_valid_signo(sig) )
|
||||||
set_errno_and_return_minus_one( EINVAL );
|
set_errno_and_return_minus_one( EINVAL );
|
||||||
|
|
||||||
if ( _POSIX_signals_Vectors[ sig ].sa_handler == SIG_IGN )
|
if ( _POSIX_signals_Vectors[ sig ].sa_flags == SA_SIGINFO )
|
||||||
return 0;
|
set_errno_and_return_minus_one( ENOSYS );
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* RTEMS does not support sending a siginfo signal to a specific thread.
|
* RTEMS does not support sending a siginfo signal to a specific thread.
|
||||||
@@ -1268,8 +1268,10 @@ int pthread_kill(
|
|||||||
|
|
||||||
if ( sig ) {
|
if ( sig ) {
|
||||||
|
|
||||||
if ( _POSIX_signals_Vectors[ sig ].sa_flags == SA_SIGINFO )
|
if ( _POSIX_signals_Vectors[ sig ].sa_handler == SIG_IGN ) {
|
||||||
set_errno_and_return_minus_one( ENOSYS );
|
_Thread_Enable_dispatch();
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
/* XXX critical section */
|
/* XXX critical section */
|
||||||
|
|
||||||
|
|||||||
@@ -1247,8 +1247,8 @@ int pthread_kill(
|
|||||||
if ( sig && !is_valid_signo(sig) )
|
if ( sig && !is_valid_signo(sig) )
|
||||||
set_errno_and_return_minus_one( EINVAL );
|
set_errno_and_return_minus_one( EINVAL );
|
||||||
|
|
||||||
if ( _POSIX_signals_Vectors[ sig ].sa_handler == SIG_IGN )
|
if ( _POSIX_signals_Vectors[ sig ].sa_flags == SA_SIGINFO )
|
||||||
return 0;
|
set_errno_and_return_minus_one( ENOSYS );
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* RTEMS does not support sending a siginfo signal to a specific thread.
|
* RTEMS does not support sending a siginfo signal to a specific thread.
|
||||||
@@ -1268,8 +1268,10 @@ int pthread_kill(
|
|||||||
|
|
||||||
if ( sig ) {
|
if ( sig ) {
|
||||||
|
|
||||||
if ( _POSIX_signals_Vectors[ sig ].sa_flags == SA_SIGINFO )
|
if ( _POSIX_signals_Vectors[ sig ].sa_handler == SIG_IGN ) {
|
||||||
set_errno_and_return_minus_one( ENOSYS );
|
_Thread_Enable_dispatch();
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
/* XXX critical section */
|
/* XXX critical section */
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user