tm: don't reply if the reply dest. is not yet set
authorAndrei Pelinescu-Onciul <andrei@iptel.org>
Wed, 18 Aug 2010 16:39:43 +0000 (18:39 +0200)
committerAndrei Pelinescu-Onciul <andrei@iptel.org>
Wed, 18 Aug 2010 16:49:10 +0000 (18:49 +0200)
commit96e1bc629bc7ed78dd64b221bc54b266cd45e3ca
tree660de8949e01ff60911c968c2c1e42a4490ece12
parent66cda7bc5f642ce892124cfb35f1e5effd78e9d6
tm: don't reply if the reply dest. is not yet set

- relay_reply() doesn't attempt to send the reply if the reply
 destination is not yet fully set. This can happen for example
 if reply_to_via is set, Via contains a host name (and not an ip)
 and before having a chance to resolve the name a reply must be
 sent (reply for a message that hasn't been sent yet: very
 unlikely, but possible).

- use a membar_write() in init_rb(), before setting the reply send
  socket (the reply send socket is also used as a flag for a fully
  initialized reply destination and the membar_write() makes sure
  that everything else was written before the send socket and no
  re-ordering will take place).
modules/tm/t_lookup.c
modules/tm/t_reply.c