At 17:02 30/03/2007, Jerome Martin wrote:
Right, after looking at the code. What I was saying is
".... and it is not immediatly evident ...", by "immediatly" I meant
"at first look", "just by looking at the docs" ...
:-)
One of the hard things with overhauls is they don't belong to the best-sellers
-- they don't bring exciting values, are sitting somewhere well hidden, and they
begin to be of concern first when things fly apart. Unfortuantely the timer
overhaul falls under those. That's been also one of the flamed topics a while
ago when proponents of SER suggested to split the work between openser and
ser contributors so that SER works on the under-the-hood thigns and openser
on the priotirized applications, to aovid contributors doing the same thing
twice. Nevertheless, the interest appeared rather negative.
They changed a bit parameters to configure various
timers from config file, and they of course retained the ability to change fr_timer and
fr_inv_timer (interesting for controlling max ringing duration) on-the-fly on a
per-transaction basis.
The key thing (in addition to minor) is elimination of race conditions.
That is an
intersting one. Do you have any pointers to the relevant parts of code or to which
structural changes enables that ?
Actually the error in question was specifically one of those.
An other puzzling fact is that SER's implementation
of timers in tm module is about half the size as OpenSER's .... I'm not sure we
can infer anything from this fact, still it made me curious.
Neither am I.
OK, OK, this one was not very insightfull from me
:-)
Well, I'm sometimes inclined to generate guidelines for myself too :-)
Just in this specific case, it would be I guess too stratched to do so.
-jiri