summaryrefslogtreecommitdiffstats
path: root/c/src/exec/posix/src/psignal.c
diff options
context:
space:
mode:
authorMark Johannes <Mark.Johannes@OARcorp.com>1996-08-15 16:29:00 +0000
committerMark Johannes <Mark.Johannes@OARcorp.com>1996-08-15 16:29:00 +0000
commitde45ddc6552a7cd73b4918b4fdc9f2d093bdc63a (patch)
treed565bde3686d0dd814eb452dbfd64fbade2a915a /c/src/exec/posix/src/psignal.c
parentpthread_kill: moved check for SA_SIGINFO to allow for validation of all (diff)
downloadrtems-de45ddc6552a7cd73b4918b4fdc9f2d093bdc63a.tar.bz2
pthread_kill: fixed the move of SIG_IGN not SA_SIGINFO
Diffstat (limited to 'c/src/exec/posix/src/psignal.c')
-rw-r--r--c/src/exec/posix/src/psignal.c10
1 files changed, 6 insertions, 4 deletions
diff --git a/c/src/exec/posix/src/psignal.c b/c/src/exec/posix/src/psignal.c
index 8ccc89b6fa..66cca49c3c 100644
--- a/c/src/exec/posix/src/psignal.c
+++ b/c/src/exec/posix/src/psignal.c
@@ -1247,8 +1247,8 @@ int pthread_kill(
if ( sig && !is_valid_signo(sig) )
set_errno_and_return_minus_one( EINVAL );
- if ( _POSIX_signals_Vectors[ sig ].sa_handler == SIG_IGN )
- return 0;
+ if ( _POSIX_signals_Vectors[ sig ].sa_flags == SA_SIGINFO )
+ set_errno_and_return_minus_one( ENOSYS );
/*
* RTEMS does not support sending a siginfo signal to a specific thread.
@@ -1268,8 +1268,10 @@ int pthread_kill(
if ( sig ) {
- if ( _POSIX_signals_Vectors[ sig ].sa_flags == SA_SIGINFO )
- set_errno_and_return_minus_one( ENOSYS );
+ if ( _POSIX_signals_Vectors[ sig ].sa_handler == SIG_IGN ) {
+ _Thread_Enable_dispatch();
+ return 0;
+ }
/* XXX critical section */