a memory leak when running the astobj2 test CLI command. After
searching, it appears the leak was in the command handler itself.
Each object was allocated (recount = 1) and then linked into
a container (refounct = 2). Then at the end of the function,
the container was unreffed, causing all the objects to have
their refcount decremented by one, leaving the refcount for
all objects allocated in that function at 1. I've now added
an extra unref to the mix so that the refcount equals zero
when the container is unreffed.
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@123526 65c4cc65-6c06-0410-ace0-fbb531ad65f3
https://origsvn.digium.com/svn/asterisk/branches/1.4
........
r123333 | mmichelson | 2008-06-17 13:09:16 -0500 (Tue, 17 Jun 2008) | 11 lines
Cisco BTS sends SIP responses with a tab between the Cseq number and
SIP request method in the Cseq: header. Asterisk did not handle this
properly, but with this patch, all is well.
(closes issue #12834)
Reported by: tobias_e
Patches:
12834.patch uploaded by putnopvut (license 60)
Tested by: tobias_e
........
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@123334 65c4cc65-6c06-0410-ace0-fbb531ad65f3
https://origsvn.digium.com/svn/asterisk/branches/1.4
........
r123274 | mmichelson | 2008-06-17 10:56:55 -0500 (Tue, 17 Jun 2008) | 12 lines
davidw pointed out that the holdtime calculation used by
app_queue does not use "boxcar" filtering as the comments
say. The term "boxcar" means that the number of samples used
to calculate stays constant, with new samples replacing the
oldest ones. The queue holdtime calculation uses all holdtime
samples collected since the queue was loaded, so the comment
has been changed to be accurate.
(closes issue #12781)
Reported by: davidw
........
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@123275 65c4cc65-6c06-0410-ace0-fbb531ad65f3
https://origsvn.digium.com/svn/asterisk/branches/1.4
........
r123271 | russell | 2008-06-17 10:48:31 -0500 (Tue, 17 Jun 2008) | 4 lines
Fix a memory leak in astobj2 that was pointed out by seanbright. When a container
got destroyed, the underlying bucket list entry for each object that was in the
container at that time did not get free'd.
........
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@123272 65c4cc65-6c06-0410-ace0-fbb531ad65f3
Reported by: ys
Many thanks to ys for doing the research on this problem.
I didn't think it would be best to unlock the contexts
and then relock them after the remove_extension2() call,
so I added an extra arg to remove_extension2() and set it
appropriately in each call. There were not that many.
I considered forcing the code to lock the contexts before
the call to remove_extension2(), but that would require
a slightly greater degree of changes, especially since
the find_context_locked is local to pbx.c
I did a simple sanity test to make sure the code doesn't
mess things up in general.
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@123165 65c4cc65-6c06-0410-ace0-fbb531ad65f3
https://origsvn.digium.com/svn/asterisk/branches/1.4
........
r123110 | tilghman | 2008-06-16 14:21:58 -0500 (Mon, 16 Jun 2008) | 8 lines
People expect that if "hasvoicemail" is set in users.conf, even if "mailbox"
isn't set, that SIP will detect a mailbox.
(closes issue #12855)
Reported by: PLL
Patches:
20080614__bug12855__2.diff.txt uploaded by Corydon76 (license 14)
Tested by: PLL
........
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@123111 65c4cc65-6c06-0410-ace0-fbb531ad65f3
does not require DAHDI. It's called "pthread" because it uses a pthread
API call in the timing thread for sleeping and ensuring we wake up at
an appropriate time. I wasn't sure what else to call it. :)
The timing API requires a file descriptor that can be polled on. So,
when you open a timer, this module creates a pipe and returns the read
end of the pipe. There is a background thread that wakes up every 10ms
and checks to see if any of the currently open timers need a 'tick' and
writes to the appropriate pipe.
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@122928 65c4cc65-6c06-0410-ace0-fbb531ad65f3
- Convert the last part of channel.c over to use the timing API. This would
not have made a difference when using the dahdi timing module. I noticed
it when trying to use another timing source. Oops. :)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@122923 65c4cc65-6c06-0410-ace0-fbb531ad65f3
https://origsvn.digium.com/svn/asterisk/branches/1.4
........
r122919 | file | 2008-06-16 09:31:09 -0300 (Mon, 16 Jun 2008) | 6 lines
Only compare the first 15 characters so that even if the charset is specified we still accept it as SDP.
(closes issue #12803)
Reported by: lanzaandrea
Patches:
chan_sip.c.diff uploaded by lanzaandrea (license 496)
........
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@122920 65c4cc65-6c06-0410-ace0-fbb531ad65f3
function and begin the transition from SIPCHANINFO() to just using CHANNEL().
(closes issue #12856)
Reported by: mostyn
Patches:
iax_and_sip_channel_info.patch uploaded by mostyn (license 398)
(with some additional cleanup by me)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@122802 65c4cc65-6c06-0410-ace0-fbb531ad65f3
https://origsvn.digium.com/svn/asterisk/branches/1.4
........
r122713 | mmichelson | 2008-06-13 16:44:53 -0500 (Fri, 13 Jun 2008) | 9 lines
Short circuit the loop in autoservice_run if there are no channels to poll.
If we continued, then the result would be calling poll() with a NULL
pollfd array. While this is fine with POSIX's poll(2) system call, those
who use Asterisk's internal poll mechanism (Darwin systems) would have
a failed assertion occur when poll is called.
(related to issue #10342)
........
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@122714 65c4cc65-6c06-0410-ace0-fbb531ad65f3
........
r122663 | jpeeler | 2008-06-13 13:57:24 -0500 (Fri, 13 Jun 2008) | 1 line
fixed dahdi compatability header from assuming either dahdi or zaptel is installed (may not have either)
........
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@122664 65c4cc65-6c06-0410-ace0-fbb531ad65f3
- Convert chan_iax2 to use the timing API
- Convert usage of timing in the core to use the timing API instead of
using DAHDI directly
- Make a change to the timing API to add the set_rate() function
- change the timing core to use a rwlock
- merge a timing implementation, res_timing_dahdi
Basic testing was successful using res_timing_dahdi
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@122523 65c4cc65-6c06-0410-ace0-fbb531ad65f3
long-term use. Instead use the heap. I can't believe this
never happened *once* in my developer branch when I was testing.
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@122461 65c4cc65-6c06-0410-ace0-fbb531ad65f3