Messages in this thread | | | Date | Sun, 20 Oct 2002 13:14:40 -0700 | From | george anzinger <> | Subject | Re: [PATCH ] POSIX clocks & timers take 3 (NOT HIGH RES) |
| |
Stephen Rothwell wrote: > > Hi George, > > On Thu, 17 Oct 2002 16:10:26 -0700 george anzinger <george@mvista.com> wrote: > > > > +++ linux/include/asm-generic/siginfo.h Thu Oct 17 15:33:39 2002 > > @@ -43,8 +43,9 @@ > > > > /* POSIX.1b timers */ > > struct { > > - unsigned int _timer1; > > - unsigned int _timer2; > > + timer_t _tid; /* timer id */ > > + int _overrun; /* overrun count */ > > + sigval_t _sigval; /* same as below */ > > } _timer; > > This, of course, will only work on architectures where (sizeof(timer_t) + > sizeof(int) + alignment padding for sigval_t) is the same as > (sizeof(pid_t) + sizeof(uid_t) + alignment padding for sigval_t). Which is > true as far as I can see, but is fragile. It might be worth a comment.
Hm..., yes, but I would rather express such things as something that will cause the compiler to complain (i.e. stop, not just warn). Possibly something like:
static int dummy[sizeof(timer_t)+sizeof(int)-sizeof(pid_t)-sizeof(uid_t)]; static int dummy2[sizeof(pid_t)+sizeof(uid_t)-sizeof(timer_t)-sizeof(int)-];
It is UGLY, but it does cause the right thing (i.e. a failure) to happen when things are wrong.
Or we could do the same sort of thing on the offset of _sigval in the several unions, which is what we really care about.
Thanks for the comments.
> - > To unsubscribe from this list: send the line "unsubscribe linux-kernel" in > the body of a message to majordomo@vger.kernel.org > More majordomo info at http://vger.kernel.org/majordomo-info.html > Please read the FAQ at http://www.tux.org/lkml/
-- George Anzinger george@mvista.com High-res-timers: http://sourceforge.net/projects/high-res-timers/ Preemption patch: http://www.kernel.org/pub/linux/kernel/people/rml - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |