diff options
Diffstat (limited to 'lib/libc/gen/raise.c')
-rw-r--r-- | lib/libc/gen/raise.c | 20 |
1 files changed, 16 insertions, 4 deletions
diff --git a/lib/libc/gen/raise.c b/lib/libc/gen/raise.c index b3d0aae..d605639 100644 --- a/lib/libc/gen/raise.c +++ b/lib/libc/gen/raise.c @@ -36,11 +36,23 @@ __FBSDID("$FreeBSD$"); #include <signal.h> #include <unistd.h> -__weak_reference(__raise, raise); -__weak_reference(__raise, _raise); +#include "libc_private.h" +__weak_reference(__libc_raise, __raise); +__weak_reference(__libc_raise, _raise); + +#pragma weak raise int -__raise(int s) +raise(int s) { - return(kill(getpid(), s)); + + return (((int (*)(int)) + __libc_interposing[INTERPOS_raise])(s)); +} + +int +__libc_raise(int s) +{ + + return (kill(getpid(), s)); } |