summaryrefslogtreecommitdiff
path: root/src/signal
AgeCommit message (Collapse)AuthorFilesLines
2011-03-19syscall overhaul part two - unify public and internal syscall interfaceRich Felker3-3/+3
with this patch, the syscallN() functions are no longer needed; a variadic syscall() macro allows syscalls with anywhere from 0 to 6 arguments to be made with a single macro name. also, manually casting each non-integer argument with (long) is no longer necessary; the casts are hidden in the macros. some source files which depended on being able to define the old macro SYSCALL_RETURNS_ERRNO have been modified to directly use __syscall() instead of syscall(). references to SYSCALL_SIGSET_SIZE and SYSCALL_LL have also been changed. x86_64 has not been tested, and may need a follow-up commit to fix any minor bugs/oversights.
2011-03-10fix errors in sigqueue (potential information leak, wrong behavior)Rich Felker1-5/+7
1. any padding in the siginfo struct was not necessarily zero-filled, so it might have contained private data off the caller's stack. 2. the uid and pid must be filled in from userspace. the previous rsyscall fix broke rsyscalls because the values were always incorrect.
2011-03-10remove useless return value checks for functions that cannot failRich Felker1-3/+2
2011-03-10make sigsuspend a cancellation pointRich Felker1-1/+6
2011-03-10make sigtimedwait a cancellation pointRich Felker1-0/+3
2011-03-10don't fail with EINTR in sigtimedwaitRich Felker1-6/+6
POSIX allows either behavior, but sigwait is not allowed to fail with EINTR, so the retry loop would have to be in one or the other anyway.
2011-03-10fix sigsuspend syscallRich Felker1-1/+1
2011-03-10make sigaltstack work (missing macros in signal.h, error conditions)Rich Felker1-1/+11
2011-03-09fix error handling for pthread_sigmaskRich Felker1-1/+5
it must return errno, not -1, and should reject invalud values for how.
2011-03-09fix race condition in raise - just mask signalsRich Felker1-9/+9
a signal handler could fork after the pid/tid were read, causing the wrong process to be signalled. i'm not sure if this is supposed to have UB or not, but raise is async-signal-safe, so it probably is allowed. the current solution is slightly expensive so this implementation is likely to be changed in the future.
2011-03-09fix raise semantics with threads.Rich Felker1-1/+12
2011-02-20fix null pointer dereference introduced in last sigprocmask commitRich Felker1-1/+1
2011-02-19prevent sigprocmask/pthread_sigmask from blocking implementation signalsRich Felker1-3/+5
this code was wrongly disabled because the old version was trying to be too clever and didn't work. replaced it with a simple version for now.
2011-02-15Port musl to x86-64. One giant commit!Nicholas J. Kain2-0/+22
2011-02-14header cleanup, conformance fixes - signalsRich Felker2-6/+3
2011-02-13fix previous commit that broke sigreturn. looks like the asm is needed.Rich Felker3-5/+17
2011-02-13fix omission that kept sa_restorer from being usedRich Felker1-1/+1
2011-02-12initial check-in, version 0.5.0v0.5.0Rich Felker32-0/+398