Re:Using select(2) the right way
by adynatos on Monday June 05, 2017 @05:08AM
(#14486210)
Unless fd_set has the same or stricter alignment requirements as unsigned long, and fd_set and unsigned long are compatible effective types, this line of code provokes undefined behaviour twice (breaks strict alignment and breaks effective type access).
[ Parent
| on HN ]
Re:Using select(2) the right way
by beeforpork on Monday June 05, 2017 @05:40AM
(#14486316)
In this case, it is most probably OK, because wfds_out comes from calloc(), which uses the largest possible alignment to work for any type (it returns void* and cannot know which types are inside the allocated memory, so it needs to assume the max on the architecture).