diff options
author | Rich Felker <dalias@aerifal.cx> | 2014-05-24 20:39:46 -0400 |
---|---|---|
committer | Rich Felker <dalias@aerifal.cx> | 2014-05-24 20:39:46 -0400 |
commit | 44d28e55121f9a7d736df59c09b963e17c8c4cfa (patch) | |
tree | b60d331719601cfeebfcf9e4ad081fe0717dc7c8 /lib | |
parent | 0b4e0732db5e6ed0cca78d787cbd764248fcbaac (diff) | |
download | musl-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