[PATCH 3/3] platform: fix missing sigisemptyset
walter harms
wharms at bfs.de
Wed Nov 27 14:55:55 UTC 2013
Am 27.11.2013 15:21, schrieb Denys Vlasenko:
> On Wed, Nov 27, 2013 at 2:46 AM, Rich Felker <dalias at aerifal.cx> wrote:
>> On Tue, Nov 26, 2013 at 10:01:36PM +0200, Daniel Borca wrote:
>>> +#ifndef HAVE_SIGISEMPTYSET
>>> +int sigisemptyset(sigset_t *set)
>>> +{
>>> + sigset_t empty;
>>> + int ret = sigemptyset(&empty);
>>> + if (ret == 0) {
>>> + ret = !memcmp(&empty, set, sizeof(sigset_t));
>>> + }
>>> + return ret;
>>> +}
>>> +#endif
>>
>> This is not a suitable fallback implementation. It's not needed on
>> musl (we provide sigisemptyset), but if this version were used, it
>> would give the wrong results, because musl's sigemptyset only fills
>> the first _NSIG-1 bits and ignores the remaining ~900 bits of junk in
>> sigset_t.
>
> Why does musl use such pointlessly huge sigset_t?
i would expect a warning here. ret is int and memcopy returns (void *).
This makes int=void*.
re,
wh
More information about the busybox
mailing list