Fixes segfault when switching UDP to TCP in sip.conf after reload.
authorDavid Vossel <dvossel@digium.com>
Tue, 21 Apr 2009 20:28:37 +0000 (20:28 +0000)
committerDavid Vossel <dvossel@digium.com>
Tue, 21 Apr 2009 20:28:37 +0000 (20:28 +0000)
commit00d7c4fefc78a5af0af4e41516cd9911dfd232c7
tree71452e9fc681a823dadd87ffae42a98e9bb02f81
parent6bb2b6c096cc8c56d0a01fb17d9723b8c5b92d0e
Fixes segfault when switching UDP to TCP in sip.conf after reload.

If transport in sip.conf is switched from UDP to TCP, Asterisk segfaults right after issuing a sip reload.  The problem is the socket type is changed to TCP but the fd may still be present for UDP.  Later, when the TCP session should be created or set using an existing one, it isn't because the old file descriptor is still present.  Now every time transport is changed during a sip.conf reload, the file descriptor is set to -1, signifying it must be created or found.

(closes issue #14727)
Reported by: pj
Tested by: dvossel

Review: http://reviewboard.digium.com/r/229/

git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@189771 65c4cc65-6c06-0410-ace0-fbb531ad65f3
channels/chan_sip.c