Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | work around "signal loses thread pointer" issue with "approach 2" | Rich Felker | 2012-02-27 | 1 | -0/+5 |
| | | | | | | | | | | | | this was discussed on the mailing list and no consensus on the preferred solution was reached, so in anticipation of a release, i'm just committing a minimally-invasive solution that avoids the problem by ensuring that multi-threaded-capable programs will always have initialized the thread pointer before any signal handler can run. in the long term we may switch to initializing the thread pointer at program start time whenever the program has the potential to access any per-thread data. | ||||
* | overhaul implementation-internal signal protections | Rich Felker | 2011-05-07 | 1 | -1/+1 |
| | | | | | | | | | | | | | | | | | | | the new approach relies on the fact that the only ways to create sigset_t objects without invoking UB are to use the sig*set() functions, or from the masks returned by sigprocmask, sigaction, etc. or in the ucontext_t argument to a signal handler. thus, as long as sigfillset and sigaddset avoid adding the "protected" signals, there is no way the application will ever obtain a sigset_t including these bits, and thus no need to add the overhead of checking/clearing them when sigprocmask or sigaction is called. note that the old code actually *failed* to remove the bits from sa_mask when sigaction was called. the new implementations are also significantly smaller, simpler, and faster due to ignoring the useless "GNU HURD signals" 65-1024, which are not used and, if there's any sanity in the world, never will be used. | ||||
* | use a separate signal from SIGCANCEL for SIGEV_THREAD timers | Rich Felker | 2011-04-14 | 1 | -1/+1 |
| | | | | | | otherwise we cannot support an application's desire to use asynchronous cancellation within the callback function. this change also slightly debloats pthread_create.c. | ||||
* | global cleanup to use the new syscall interface | Rich Felker | 2011-03-20 | 1 | -1/+1 |
| | |||||
* | fix previous commit that broke sigreturn. looks like the asm is needed. | Rich Felker | 2011-02-13 | 1 | -5/+2 |
| | |||||
* | fix omission that kept sa_restorer from being used | Rich Felker | 2011-02-13 | 1 | -1/+1 |
| | |||||
* | initial check-in, version 0.5.0 v0.5.0 | Rich Felker | 2011-02-12 | 1 | -0/+48 |