search for: sigset_t

Displaying 20 results from an estimated 115 matches for "sigset_t".

2015 Aug 21
0
Problem with psignal.c for Windows builds
Continuing with problems that I've uncovered while getting pqR to work on Windows... The file src/ghuwin32/psignal.c (used only in Windows builds) fails to use the sigset_t type in all places where it should, using "int" some places instead. Here is a diff of the needed corrections: @@ -253,7 +253,7 @@ sighandler_t signal(int signal_Number, sighandler_t signal_Handler) int sigaddset(sigset_t* sigset_Info,int signal_Number) { if (IS_SIGNAL(signal_Nu...
2012 May 05
3
[PATCH] fix non-RT sigsuspend()
While the userspace function signature is int sigsuspend(const sigset_t *maskptr) there are several variants of how this is mapped into kernel functions: one for rt_sigsuspend and several, mutually incompatible, legacy ones, split by architectures. Before this commit, klibc did not care about that and passed maskptr as first and only argument to the syscall, leading to...
2020 Aug 27
0
[klibc:master] s390: Set sa_restorer for signals and disable executable stack
...CHCONFIG_H */ diff --git a/usr/klibc/SYSCALLS.def b/usr/klibc/SYSCALLS.def index 461d9bf6..30ff58b8 100644 --- a/usr/klibc/SYSCALLS.def +++ b/usr/klibc/SYSCALLS.def @@ -212,7 +212,6 @@ ssize_t sendfile64,sendfile::sendfile(int, int, off_t *, size_t, off_t); int rt_sigsuspend::__rt_sigsuspend(const sigset_t *, size_t); int rt_sigpending::__rt_sigpending(sigset_t *, size_t); int rt_sigprocmask::__rt_sigprocmask(int, const sigset_t *, sigset_t *, size_t); -<sparc64> void rt_sigreturn::__sigreturn(); #else int sigaction::__sigaction(int, const struct sigaction *, struct sigaction *); int sigpe...
2015 Aug 24
0
Problem with psignal.c for Windows builds
...uwin32/fixed/h/psignal.h At a minimum, one needs the following changes: @@ -122,8 +129,8 @@ typedef struct /* Prototype stuff ***********************************************************/ -int sigsetmask(int signal_Block_MaskNew); -int sigblock(int signal_Block_MaskNew); +sigset_t sigsetmask(sigset_t signal_Block_MaskNew); +sigset_t sigblock(sigset_t signal_Block_MaskNew); int sighold(int signal_Number); int sigrelse(int signal_Number); int sigaction(int signal_Number,struct sigaction* sigaction_Info, @@ -143,7 +150,7 @@ int sigsusp...
2012 May 15
5
[PATCH 0/5] resubmitting pending patches
Hi, I?ve gone through the mailing list archives and hereby want to resubmit my pending patches. Most are independent of each other, except the m68k patch which will only be complete if sigsuspend is also fixed. (It can be applied before that, though.) http://www.zytor.com/pipermail/klibc/2012-January/003173.html [PATCH] fix m68k support Resubmitted here as 0005. While there was a question from
2012 May 29
0
[klibc:master] alpha: fix signal handler setup on DEC Alpha
...ction *, size_t); <sparc,sparc64> int rt_sigaction::__rt_sigaction(int, const struct sigaction *, struct sigaction *, void *, size_t); +<alpha> int rt_sigaction::__rt_sigaction(int, const struct sigaction *, struct sigaction *, size_t, void *); int rt_sigsuspend::__rt_sigsuspend(const sigset_t *, size_t); int rt_sigpending::__rt_sigpending(sigset_t *, size_t); int rt_sigprocmask::__rt_sigprocmask(int, const sigset_t *, sigset_t *, size_t); diff --git a/usr/klibc/sigaction.c b/usr/klibc/sigaction.c index 658c3ad..19a8a54 100644 --- a/usr/klibc/sigaction.c +++ b/usr/klibc/sigaction.c @@...
2012 May 25
4
klibc breakage on alpha, need porterbox
Hi, is there a DD-accessible porterbox somewhere (slow would be ok, as this is smallish software) with an up-to-date sid (enough to install the recently-built libklibc-dev 2.0~rc5-1 and all other B-D of mksh 40.9.20120518-1, as well as strace and gdb-minimal)? Similarily to http://www.zytor.com/pipermail/klibc/2012-May/003229.html I found klibc-compiled programmes on Alpha to fail (SIGSEGV
2020 Aug 28
0
[klibc:ia64-signal-fix] signal: Move rt_sigaction() argument mangling to arch directories
...e_t, void *); +<sparc,sparc64> int rt_sigaction::____rt_sigaction(int, const struct sigaction *, struct sigaction *, void *, size_t); +<alpha> int rt_sigaction::____rt_sigaction(int, const struct sigaction *, struct sigaction *, size_t, void *); int rt_sigsuspend::__rt_sigsuspend(const sigset_t *, size_t); int rt_sigpending::__rt_sigpending(sigset_t *, size_t); int rt_sigprocmask::__rt_sigprocmask(int, const sigset_t *, sigset_t *, size_t); diff --git a/usr/klibc/arch/alpha/Kbuild b/usr/klibc/arch/alpha/Kbuild index 89386aea..715a430c 100644 --- a/usr/klibc/arch/alpha/Kbuild +++ b/usr/k...
2020 Jul 25
0
[klibc:execstack-fixes] sparc: Set sa_restorer for signals and disable executable stack
...CHCONFIG_H */ diff --git a/usr/klibc/SYSCALLS.def b/usr/klibc/SYSCALLS.def index 16faabcb..0768df0d 100644 --- a/usr/klibc/SYSCALLS.def +++ b/usr/klibc/SYSCALLS.def @@ -212,7 +212,7 @@ ssize_t sendfile64,sendfile::sendfile(int, int, off_t *, size_t, off_t); int rt_sigsuspend::__rt_sigsuspend(const sigset_t *, size_t); int rt_sigpending::__rt_sigpending(sigset_t *, size_t); int rt_sigprocmask::__rt_sigprocmask(int, const sigset_t *, sigset_t *, size_t); -<sparc64> void rt_sigreturn::__sigreturn(); +<sparc,sparc64> void rt_sigreturn::__sigreturn(); #else int sigaction::__sigaction(int,...
2020 Aug 20
0
[klibc:execstack-fixes] sparc: Set sa_restorer for signals and disable executable stack
...CHCONFIG_H */ diff --git a/usr/klibc/SYSCALLS.def b/usr/klibc/SYSCALLS.def index 16faabcb..0768df0d 100644 --- a/usr/klibc/SYSCALLS.def +++ b/usr/klibc/SYSCALLS.def @@ -212,7 +212,7 @@ ssize_t sendfile64,sendfile::sendfile(int, int, off_t *, size_t, off_t); int rt_sigsuspend::__rt_sigsuspend(const sigset_t *, size_t); int rt_sigpending::__rt_sigpending(sigset_t *, size_t); int rt_sigprocmask::__rt_sigprocmask(int, const sigset_t *, sigset_t *, size_t); -<sparc64> void rt_sigreturn::__sigreturn(); +<sparc,sparc64> void rt_sigreturn::__sigreturn(); #else int sigaction::__sigaction(int,...
2020 Jul 25
0
[klibc:execstack-fixes] s390: Set sa_restorer for signals and disable executable stack
...avoid stack trampolines */ +#define _KLIBC_NEEDS_SA_RESTORER 1 + #endif /* _KLIBC_ARCHCONFIG_H */ diff --git a/usr/klibc/SYSCALLS.def b/usr/klibc/SYSCALLS.def index 461d9bf6..16faabcb 100644 --- a/usr/klibc/SYSCALLS.def +++ b/usr/klibc/SYSCALLS.def @@ -228,6 +228,7 @@ int sigprocmask(int, const sigset_t *, sigset_t *); */ <sh,sparc,alpha,ppc,sparc64> int sigsuspend::__sigsuspend_s(sigset_t); <arm,frv,i386,m68k,mn10300,s390,s390x> int sigsuspend::__sigsuspend_xxs(int, int, sigset_t); +<s390> void sigreturn::__sigreturn(); #endif int kill(pid_t, int); <?> unsigned int...
2020 Aug 20
0
[klibc:execstack-fixes] s390: Set sa_restorer for signals and disable executable stack
...avoid stack trampolines */ +#define _KLIBC_NEEDS_SA_RESTORER 1 + #endif /* _KLIBC_ARCHCONFIG_H */ diff --git a/usr/klibc/SYSCALLS.def b/usr/klibc/SYSCALLS.def index 461d9bf6..16faabcb 100644 --- a/usr/klibc/SYSCALLS.def +++ b/usr/klibc/SYSCALLS.def @@ -228,6 +228,7 @@ int sigprocmask(int, const sigset_t *, sigset_t *); */ <sh,sparc,alpha,ppc,sparc64> int sigsuspend::__sigsuspend_s(sigset_t); <arm,frv,i386,m68k,mn10300,s390,s390x> int sigsuspend::__sigsuspend_xxs(int, int, sigset_t); +<s390> void sigreturn::__sigreturn(); #endif int kill(pid_t, int); <?> unsigned int...
2020 Aug 27
0
[klibc:master] sparc: Set sa_restorer for signals and disable executable stack
...will call rt_sigreturn() */ +#define _KLIBC_NEEDS_SA_SIGINFO 1 + #endif /* _KLIBC_ARCHCONFIG_H */ diff --git a/usr/klibc/SYSCALLS.def b/usr/klibc/SYSCALLS.def index 30ff58b8..b639fceb 100644 --- a/usr/klibc/SYSCALLS.def +++ b/usr/klibc/SYSCALLS.def @@ -228,7 +228,7 @@ int sigprocmask(int, const sigset_t *, sigset_t *); <sh,sparc,alpha,ppc,sparc64> int sigsuspend::__sigsuspend_s(sigset_t); <arm,frv,i386,m68k,mn10300,s390,s390x> int sigsuspend::__sigsuspend_xxs(int, int, sigset_t); #endif -<s390,s390x,sparc64> void rt_sigreturn::__sigreturn(); +<s390,s390x,sparc,sparc64> v...
2020 Aug 27
0
[klibc:master] alpha: Pass restorer to rt_sigaction() and disable executable stack
..._t, void *); + size_t, void (*)(void)); #else __extern int __rt_sigaction(int, const struct sigaction *, struct sigaction *, size_t); @@ -60,7 +60,7 @@ int sigaction(int sig, const struct sigaction *act, struct sigaction *oact) rv = __rt_sigaction(sig, act, oact, restorer, sizeof(sigset_t)); } # elif defined(__alpha__) - rv = __rt_sigaction(sig, act, oact, sizeof(sigset_t), NULL); + rv = __rt_sigaction(sig, act, oact, sizeof(sigset_t), &__sigreturn); # else rv = __rt_sigaction(sig, act, oact, sizeof(sigset_t)); # endif
2016 Apr 14
1
[PATCH 1/1] x32 support
...t definitely shows some problems. I am going to fix them and re-submit the patch. The signals syscalls don't work. And the question is not why they don't work in my port, but rather why they DO WORK in the original code. As an example of some craziness: rt_sigsuspend syscall expects sizeof(sigset_t) as the second argument and returns -EINVAL if it is != sizeof(sigset_t). In glibc it's defined like this # define _SIGSET_NWORDS (1024 / (8 * sizeof (unsigned long int))) typedef struct { unsigned long int __val[_SIGSET_NWORDS]; } __sigset_t; where long int is 64-bit, i.e. the whole...
2020 Aug 29
0
[klibc:master] ia64: Fix sigaction function implementation
...sigaction *, void *, size_t); <alpha> int rt_sigaction::____rt_sigaction(int, const struct sigaction *, struct sigaction *, size_t, void *); +<ia64> int rt_sigaction::____rt_sigaction(int, const struct sigaction *, struct sigaction *, size_t); int rt_sigsuspend::__rt_sigsuspend(const sigset_t *, size_t); int rt_sigpending::__rt_sigpending(sigset_t *, size_t); int rt_sigprocmask::__rt_sigprocmask(int, const sigset_t *, sigset_t *, size_t); diff --git a/usr/klibc/arch/ia64/Kbuild b/usr/klibc/arch/ia64/Kbuild index 49070ff3..41b8ca06 100644 --- a/usr/klibc/arch/ia64/Kbuild +++ b/usr/klib...
2020 Aug 28
0
[klibc:ia64-signal-fix] ia64: Fix sigaction struct layout and function implementation
...sigaction *, void *, size_t); <alpha> int rt_sigaction::____rt_sigaction(int, const struct sigaction *, struct sigaction *, size_t, void *); +<ia64> int rt_sigaction::____rt_sigaction(int, const struct sigaction *, struct sigaction *, size_t); int rt_sigsuspend::__rt_sigsuspend(const sigset_t *, size_t); int rt_sigpending::__rt_sigpending(sigset_t *, size_t); int rt_sigprocmask::__rt_sigprocmask(int, const sigset_t *, sigset_t *, size_t); diff --git a/usr/klibc/arch/ia64/Kbuild b/usr/klibc/arch/ia64/Kbuild index 49070ff3..41b8ca06 100644 --- a/usr/klibc/arch/ia64/Kbuild +++ b/usr/klib...
2004 Feb 08
3
Re: klibc - setenv broken
Kay Sievers wrote: > Hi, > this simple program compiled with klibc: > > #include <stdio.h> > int main(int argc, char* argv[]) > { > setenv("TESTENV", "happy", 1); > printf("TESTENV='%s'\n", getenv("TESTENV")); > } > > prints: > > ./env > TESTENV='(null)' > >
2020 Mar 28
0
[klibc:update-dash] dash: eval: Add vfork support
...+ shellexec(argv, path, idx); + /* NOTREACHED */ + } + + vforked = 0; + sigclearmask(); + forkparent(jp, n, FORK_FG, pid); + + return jp; +} + /* * Wait for job to finish. * @@ -1105,7 +1152,7 @@ static int dowait(int block, struct job *jp) STATIC int waitproc(int block, int *status) { - sigset_t mask, oldmask; + sigset_t oldmask; int flags = block == DOWAIT_BLOCK ? 0 : WNOHANG; int err; @@ -1119,8 +1166,7 @@ waitproc(int block, int *status) if (err || (err = -!block)) break; - sigfillset(&mask); - sigprocmask(SIG_SETMASK, &mask, &oldmask); + sigblockall(&o...
2020 Aug 27
0
[klibc:master] signal: Add compile-time check on signal types
...hings <ben at decadent.org.uk> CommitDate: Thu, 27 Aug 2020 03:51:16 +0100 [klibc] signal: Add compile-time check on signal types If we are going to use the RT signal API, we must have the right type definitions. Check for signs that we have the old API definitions: * _NSIG less than 64 * sigset_t too small for _NSIG * sa_mask not at the end of struct sigaction Signed-off-by: Ben Hutchings <ben at decadent.org.uk> --- usr/klibc/sigaction.c | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/usr/klibc/sigaction.c b/usr/klibc/sigaction.c index 19a8a54b..30ef39ef 100644 --- a/u...