[Serdev] t_is_canceled() useless?
Martin Hoffmann
hn at nvnc.de
Mon Jun 2 13:49:56 CEST 2008
Salve,
is it me or is t_is_canceled() completely useless? According to the
code, it will only return true if a CANCEL was received while no
requests have yet been sent out or some other case which I don't quite
understand that involves calling t_newtran() while a CANCEL is being
processed. (Grep for T_CANCELED to get the relevant code.)
Now, unlike whoever introduced the function had something else in mind
then me, you need t_is_canceled() to stop call forwarding when a
transaction has been canceled. This is necessary since a 408 is
preferred over a 487 in branch picking and subsequently a
if (t_check_status("408")) {
# append branch and t_relay()
}
will be looping. Therefore, I need t_is_canceled() to break out of the
loop.
For now I can fix this by setting a flag after first call forwarding and
then only forward once. However, I am also going to do some call hunting
where this approach will not work anymore.
Do I miss something or should this be changed?
Best regards,
Martin
More information about the Serdev
mailing list