Re: POSIX timer syscalls

David Mosberger (
Thu, 6 Mar 2003 17:27:03 -0800

>>>>> On Thu, 06 Mar 2003 15:53:50 -0800, george anzinger <> said:

George> I think there is a bit of a problem in the idr code
George> (.../lib/idr.c) which manages the id allocation. Seems we
George> are returning "long" from functions declared as int. If I
George> remember the code correctly this will work, but it does
George> eliminate the sequence number that should be in the high 8
George> bits of the id.

Yes. We have had some reports of problems with POSIX timers and I
suspect this might be the reason (though I don't know what the exact
code-base was that the person reporting the problem was using).

George> This assumes that you never allocate more than 2,147,483,647
George> timers at once :) I will look at this and send in a patch.
George> I think we should return what ever timer_t is, so we should
George> run that to ground first.

Yes, that would be better. According to Uli, a 32-bit timer_t is fine
as far as the standards are concerned. That's good.

George> I suspect we should also have a look at all the structures
George> with a view to alignment issues or is this not a problem?
George> I.e. is this struct ok:

George> struct { long a; int b; long c; }

Such code may be OK correctnesswise, but to avoid wasting space, it's
clearly better to list larger members first.

To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to
More majordomo info at
Please read the FAQ at