History log of /seL4-camkes-master/projects/musllibc/src/signal/sigprocmask.c
Revision Date Author Comments
# 400c5e5c 06-Sep-2012 Rich Felker <dalias@aerifal.cx>

use restrict everywhere it's required by c99 and/or posix 2008

to deal with the fact that the public headers may be used with pre-c99
compilers, __restrict is used in place of restrict, and defined
appropriately for any supported compiler. we also avoid the form
[restrict] since older versions of gcc rejected it due to a bug in the
original c99 standard, and instead use the form *restrict.


# ad588184 30-Jul-2011 Rich Felker <dalias@aerifal.cx>

clean up pthread_sigmask/sigprocmask dependency order

it's nicer for the function that doesn't use errno to be independent,
and have the other one call it. saves some time and avoids clobbering
errno.


# 99b8a25e 07-May-2011 Rich Felker <dalias@aerifal.cx>

overhaul implementation-internal signal protections

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.


# 016a5dc1 13-Apr-2011 Rich Felker <dalias@aerifal.cx>

use a separate signal from SIGCANCEL for SIGEV_THREAD timers

otherwise we cannot support an application's desire to use
asynchronous cancellation within the callback function. this change
also slightly debloats pthread_create.c.


# aa398f56 19-Mar-2011 Rich Felker <dalias@aerifal.cx>

global cleanup to use the new syscall interface


# 500c969f 09-Mar-2011 Rich Felker <dalias@aerifal.cx>

fix error handling for pthread_sigmask

it must return errno, not -1, and should reject invalud values for how.


# 96f21974 20-Feb-2011 Rich Felker <dalias@aerifal.cx>

fix null pointer dereference introduced in last sigprocmask commit


# a49c1192 19-Feb-2011 Rich Felker <dalias@aerifal.cx>

prevent sigprocmask/pthread_sigmask from blocking implementation signals

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.


# 0b44a031 11-Feb-2011 Rich Felker <dalias@aerifal.cx>

initial check-in, version 0.5.0