pthread_kill: fixed the move of SIG_IGN not SA_SIGINFO

This commit is contained in:
Mark Johannes
1996-08-15 16:29:00 +00:00
parent 948721cd19
commit de45ddc655
2 changed files with 12 additions and 8 deletions

View File

@@ -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 */

View File

@@ -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 */