about summary refs log tree commit diff
path: root/lib
diff options
context:
space:
mode:
authorRich Felker <dalias@aerifal.cx>2014-05-24 20:39:46 -0400
committerRich Felker <dalias@aerifal.cx>2014-05-24 20:39:46 -0400
commit44d28e55121f9a7d736df59c09b963e17c8c4cfa (patch)
treeb60d331719601cfeebfcf9e4ad081fe0717dc7c8 /lib
parent0b4e0732db5e6ed0cca78d787cbd764248fcbaac (diff)
downloadmusl-44d28e55121f9a7d736df59c09b963e17c8c4cfa.tar.gz
musl-44d28e55121f9a7d736df59c09b963e17c8c4cfa.tar.xz
musl-44d28e55121f9a7d736df59c09b963e17c8c4cfa.zip
overhaul siginfo_t definition in signal.h
the main motivation for this change is that, with the previous
definition, it was arguably illegal, in standard C, to initialize both
si_value and si_pid/si_uid with designated initializers, due to the
rule that only one member of a union can have an initializer. whether
or not this affected real-world application code, it affected some
internal code, and clang was producing warnings (and possibly
generating incorrect code).

the new definition uses a more complex hierarchy of structs and unions
to avoid the need to initialize more than one member of a single union
in usage cases that make sense. further work would be needed to
eliminate even the ones with no practical applications.

at the same time, some fixes are made to the exposed names for
nonstandard fields, to match what software using them expects.
Diffstat (limited to 'lib')
0 files changed, 0 insertions, 0 deletions