H. Peter Anvin [hpa@xxxxxxxxx] wrote: | On 09/09/2009 05:19 AM, Arnd Bergmann wrote: | > | > This is a complex problem. The structure above would need a conversion | > for the pointer size that you can avoid by using a u64, but that introduces | > another problem: | > | > 2. use a single pointer, with variable length data structures: | > | > struct pid_set { | > int num_pids; | > pid_t pids[0]; | > }; | > | > Since pid_t is always an int, you have no problem with padding or | > incompatible types, but rely on a data structure definition that | > is not in C89 (not sure about C99). C90 or C99 below should work. Is it ok to use a data structure that is not in C89 ? BTW, would it work if we defined struct pid_set { u64 pids; int num_pids; } where ->pids can be still be a pointer ? The data structure would have the same size on all architectures. Thanks for the input Sukadev _______________________________________________ Containers mailing list Containers@xxxxxxxxxxxxxxxxxxxxxxxxxx https://lists.linux-foundation.org/mailman/listinfo/containers