From f80df76143b60796b10c42cfed379874144aa143 Mon Sep 17 00:00:00 2001 From: Mark Spencer Date: Sun, 19 Jun 2005 22:00:18 +0000 Subject: Fix fd's when we release rtp/vrtp git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5940 65c4cc65-6c06-0410-ace0-fbb531ad65f3 --- channels/chan_sip.c | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) (limited to 'channels') diff --git a/channels/chan_sip.c b/channels/chan_sip.c index 44bad0d5e..221402234 100755 --- a/channels/chan_sip.c +++ b/channels/chan_sip.c @@ -9189,10 +9189,18 @@ static int handle_request_subscribe(struct sip_pvt *p, struct sip_request *req, } /* Go ahead and free RTP port */ if (p->rtp) { + if (p->owner) { + p->owner->fds[0] = -1; + p->owner->fds[1] = -1; + } ast_rtp_destroy(p->rtp); p->rtp = NULL; } if (p->vrtp) { + if (p->owner) { + p->owner->fds[2] = -1; + p->owner->fds[3] = -1; + } ast_rtp_destroy(p->vrtp); p->vrtp = NULL; } @@ -9219,10 +9227,18 @@ static int handle_request_register(struct sip_pvt *p, struct sip_request *req, i if (res < 1) { /* Go ahead and free RTP port */ if (p->rtp) { + if (p->owner) { + p->owner->fds[0] = -1; + p->owner->fds[1] = -1; + } ast_rtp_destroy(p->rtp); p->rtp = NULL; } if (p->vrtp) { + if (p->owner) { + p->owner->fds[2] = -1; + p->owner->fds[3] = -1; + } ast_rtp_destroy(p->vrtp); p->vrtp = NULL; } -- cgit v1.2.3