Re: POSIX timer syscalls

David Mosberger
2003-03-07T01:16:39Z

>>>>> On Thu, 06 Mar 2003 15:53:50 -0800, george anzinger <george@mvista.com> 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.

--david