mirror of git://git.musl-libc.org/musl
optimize sigisemptyset
the static const zero set ended up getting put in bss instead of rodata, wasting writable memory, and the call to memcmp was size-inefficient. generally for nonstandard extension functions we try to avoid poking at any internals directly, but the way the zero set was setup was arguably already doing so.
This commit is contained in:
parent
375840c7d8
commit
941bd884cc
|
@ -4,6 +4,7 @@
|
|||
|
||||
int sigisemptyset(const sigset_t *set)
|
||||
{
|
||||
static const unsigned long zeroset[_NSIG/8/sizeof(long)];
|
||||
return !memcmp(set, &zeroset, _NSIG/8);
|
||||
for (size_t i=0; i<_NSIG/8/sizeof *set->__bits; i++)
|
||||
if (set->__bits[i]) return 0;
|
||||
return 1;
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue