Commit Graph

23659 Commits

Author SHA1 Message Date
Mark Michelson
d9f4952b8a Add test where we create a thread and push a task.
Passes!



git-svn-id: https://origsvn.digium.com/svn/asterisk/team/mmichelson/threadpool@377380 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2012-12-07 19:50:38 +00:00
Mark Michelson
2dc89eb485 Add test where we add a task then create a thread for it.
It passes.



git-svn-id: https://origsvn.digium.com/svn/asterisk/team/mmichelson/threadpool@377379 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2012-12-07 19:34:11 +00:00
Mark Michelson
f275c11e78 Add threadpool destruction test.
It worked on the first try. Fun time.



git-svn-id: https://origsvn.digium.com/svn/asterisk/team/mmichelson/threadpool@377378 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2012-12-07 19:16:28 +00:00
Mark Michelson
3a25935f7d Fix infinite looping and crash problem.
MALLOC_DEBUG is complaining about corrupted memory on taskprocessor
listeners, but I'm not seeing it, nor is valgrind. Not sure what's up
there.



git-svn-id: https://origsvn.digium.com/svn/asterisk/team/mmichelson/threadpool@377377 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2012-12-07 19:05:30 +00:00
Mark Michelson
ec29862a92 Fix up categories of threadpool tests.
git-svn-id: https://origsvn.digium.com/svn/asterisk/team/mmichelson/threadpool@377369 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2012-12-07 01:03:49 +00:00
Mark Michelson
4590bfd93d Add new threadpool test and fix some taskprocessor bugs.
The new thread creation test fails because Asterisk locks up
while trying to lock a taskprocessor.

While trying to debug that, I found a race condition during taskprocessor
creation where a default taskprocessor listener could try to operate on
a partially started taskprocessor. This was fixed by adding a new callback
to taskprocessor listeners.

Then while testing that change, I found some bugs in the taskprocessor
tests where I was not properly unlocking when done with a lock. Scoped
locks have spoiled me a bit.

I still have not figured out why the threadpool thread creation test
is locking up.



git-svn-id: https://origsvn.digium.com/svn/asterisk/team/mmichelson/threadpool@377368 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2012-12-07 00:30:35 +00:00
Automerge script
62981d2032 Merged revisions 377356 via svnmerge from
file:///srv/subversion/repos/asterisk/trunk

................
  r377356 | rmudgett | 2012-12-06 18:00:39 -0600 (Thu, 06 Dec 2012) | 30 lines
  
  confbridge: Fix some resource leaks on conference teardown.
  
  * Made destroy_conference_bridge() destroy a missed ast_mutex_t and ast_cond_t.
  
  * Made join_conference_bridge() init the ast_mutex_t's and ast_cond_t so
  destroy_conference_bridge() can destroy them unconditionally.
  
  * Made join_conference_bridge() abort if the new conference could not be
  added to the conferences container.
  
  * Made leave_conference() discard any post-join actions if
  join_conference_bridge() had to abort early.
  
  * Made the join_conference_bridge() diagnostic messages better describe
  what happened.
  
  * Renamed leave_conference_bridge() to leave_conference() and made it only
  take a conference user pointer.  The conference pointer was redundant.
  
  * Made conf_bridge_profile_copy() use struct copy instead of memcpy().
  
  * No need to lock the conference in start_conf_record_thread() since all
  of the callers already have it locked.
  ........
  
  Merged revisions 377354 from http://svn.asterisk.org/svn/asterisk/branches/10
  ........
  
  Merged revisions 377355 from http://svn.asterisk.org/svn/asterisk/branches/11
................


git-svn-id: https://origsvn.digium.com/svn/asterisk/team/mmichelson/threadpool@377362 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2012-12-07 00:19:29 +00:00
Richard Mudgett
a821774bad confbridge: Fix some resource leaks on conference teardown.
* Made destroy_conference_bridge() destroy a missed ast_mutex_t and ast_cond_t.

* Made join_conference_bridge() init the ast_mutex_t's and ast_cond_t so
destroy_conference_bridge() can destroy them unconditionally.

* Made join_conference_bridge() abort if the new conference could not be
added to the conferences container.

* Made leave_conference() discard any post-join actions if
join_conference_bridge() had to abort early.

* Made the join_conference_bridge() diagnostic messages better describe
what happened.

* Renamed leave_conference_bridge() to leave_conference() and made it only
take a conference user pointer.  The conference pointer was redundant.

* Made conf_bridge_profile_copy() use struct copy instead of memcpy().

* No need to lock the conference in start_conf_record_thread() since all
of the callers already have it locked.
........

Merged revisions 377354 from http://svn.asterisk.org/svn/asterisk/branches/10
........

Merged revisions 377355 from http://svn.asterisk.org/svn/asterisk/branches/11


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@377356 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2012-12-07 00:00:39 +00:00
Mark Michelson
9445402925 It helps if we actually assign the listener to the pool.
git-svn-id: https://origsvn.digium.com/svn/asterisk/team/mmichelson/threadpool@377352 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2012-12-06 20:45:42 +00:00
Mark Michelson
c32634e0dd Add initial simple threadpool test.
This one simply pushes a task into the threadpool and ensures
that the listener gets the callbacks expected.

It currently crashes, so I need to figure out what's wrong.



git-svn-id: https://origsvn.digium.com/svn/asterisk/team/mmichelson/threadpool@377351 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2012-12-06 20:25:17 +00:00
Automerge script
c81367bd9f Merged revisions 377341 via svnmerge from
file:///srv/subversion/repos/asterisk/trunk

................
  r377341 | russell | 2012-12-06 11:29:13 -0600 (Thu, 06 Dec 2012) | 10 lines
  
  Recorded merge of revisions 377340 from http://svn.asterisk.org/svn/asterisk/branches/11
  
  ........
  Add CLI tab completion to 'acl show'.
  
  The 'acl show' CLI command allows you to show the details about a specific
  named ACL in acl.conf.  This patch adds tab completion to the command.
  
  Review: https://reviewboard.asterisk.org/r/2230/
................


git-svn-id: https://origsvn.digium.com/svn/asterisk/team/mmichelson/threadpool@377346 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2012-12-06 18:19:22 +00:00
Russell Bryant
726e45b2ed Recorded merge of revisions 377340 from http://svn.asterisk.org/svn/asterisk/branches/11
........
Add CLI tab completion to 'acl show'.

The 'acl show' CLI command allows you to show the details about a specific
named ACL in acl.conf.  This patch adds tab completion to the command.

Review: https://reviewboard.asterisk.org/r/2230/


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@377341 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2012-12-06 17:29:13 +00:00
Automerge script
95b571b390 Merged revisions 377324,377329-377330 via svnmerge from
file:///srv/subversion/repos/asterisk/trunk

................
  r377324 | mjordan | 2012-12-06 08:26:13 -0600 (Thu, 06 Dec 2012) | 13 lines
  
  Fix memory leak in 'manager show event' when command entered incorrectly
  
  When the CLI command 'manager show event' was run incorrectly and its usage
  instructions returned, a reference to the event container was leaked. This
  would prevent the container from being reclaimed when Asterisk exits. We now
  properly decrement the count on the ao2 object using the nifty RAII_VAR macro.
  
  Thanks to Russell for helping me stumble on this, and Terry for writing that
  ridiculously helpful macro.
  ........
  
  Merged revisions 377319 from http://svn.asterisk.org/svn/asterisk/branches/11
................
  r377329 | russell | 2012-12-06 09:06:47 -0600 (Thu, 06 Dec 2012) | 7 lines
  
  Add CLI tab completion to 'acl show'.
  
  The 'acl show' CLI command allows you to show the details about a specific
  named ACL in acl.conf.  This patch adds tab completion to the command.
  
  Review: https://reviewboard.asterisk.org/r/2230/
................
  r377330 | russell | 2012-12-06 09:13:37 -0600 (Thu, 06 Dec 2012) | 6 lines
  
  Minor code cleanup in named_acl.c.
  
  This patch makes a few little cleanups to named_acl.c.  A couple non-public
  functions were made static and an opening brace for a function was moved to
  its own line, per the coding guidelines.
................


git-svn-id: https://origsvn.digium.com/svn/asterisk/team/mmichelson/threadpool@377335 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2012-12-06 15:19:58 +00:00
Russell Bryant
ed72243022 Minor code cleanup in named_acl.c.
This patch makes a few little cleanups to named_acl.c.  A couple non-public
functions were made static and an opening brace for a function was moved to
its own line, per the coding guidelines.


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@377330 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2012-12-06 15:13:37 +00:00
Russell Bryant
75827ca16b Add CLI tab completion to 'acl show'.
The 'acl show' CLI command allows you to show the details about a specific
named ACL in acl.conf.  This patch adds tab completion to the command.

Review: https://reviewboard.asterisk.org/r/2230/


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@377329 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2012-12-06 15:06:47 +00:00
Matthew Jordan
905b2a5932 Fix memory leak in 'manager show event' when command entered incorrectly
When the CLI command 'manager show event' was run incorrectly and its usage
instructions returned, a reference to the event container was leaked. This
would prevent the container from being reclaimed when Asterisk exits. We now
properly decrement the count on the ao2 object using the nifty RAII_VAR macro.

Thanks to Russell for helping me stumble on this, and Terry for writing that
ridiculously helpful macro.
........

Merged revisions 377319 from http://svn.asterisk.org/svn/asterisk/branches/11


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@377324 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2012-12-06 14:26:13 +00:00
Automerge script
7a203dc72c Merged revisions 377260,377263 via svnmerge from
file:///srv/subversion/repos/asterisk/trunk

................
  r377260 | file | 2012-12-05 10:51:58 -0600 (Wed, 05 Dec 2012) | 25 lines
  
  Fix a SIP request memory leak with TLS connections.
  
  During the TLS re-work in chan_sip some TLS specific code was moved
  into a separate function. This function operates on a copy of the
  incoming SIP request. This copy was never deinitialized causing a
  memory leak for each request processed.
  
  This function is now given a SIP request structure which it can use
  to copy the incoming request into. This reduces the amount of memory
  allocations done since the internal allocated components are reused
  between packets and also ensures the SIP request structure is
  deinitialized when the TLS connection is torn down.
  
  (closes issue ASTERISK-20763)
  Reported by: deti
  ........
  
  Merged revisions 377257 from http://svn.asterisk.org/svn/asterisk/branches/1.8
  ........
  
  Merged revisions 377258 from http://svn.asterisk.org/svn/asterisk/branches/10
  ........
  
  Merged revisions 377259 from http://svn.asterisk.org/svn/asterisk/branches/11
................
  r377263 | jrose | 2012-12-05 11:17:06 -0600 (Wed, 05 Dec 2012) | 21 lines
  
  res_srtp: Fix a crash caused by srtp_dealloc on an already dealloced session
  
  When srtp_create fails, the session may be dealloced or just not alloced. At
  the same time though, the session pointer might not be set to NULL in this
  process and attempting to srtp_dealloc it again will cause a segfault. This
  patch checks for failure of srtp_create and sets the session pointer to NULL
  if it fails.
  
  (closes issue ASTERISK-20499)
  Reported by: tootai
  Review: https://reviewboard.asterisk.org/r/2228/
  ........
  
  Merged revisions 377256 from http://svn.asterisk.org/svn/asterisk/branches/1.8
  ........
  
  Merged revisions 377261 from http://svn.asterisk.org/svn/asterisk/branches/10
  ........
  
  Merged revisions 377262 from http://svn.asterisk.org/svn/asterisk/branches/11
................


git-svn-id: https://origsvn.digium.com/svn/asterisk/team/mmichelson/threadpool@377270 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2012-12-05 17:20:37 +00:00
Jonathan Rose
d7372766dc res_srtp: Fix a crash caused by srtp_dealloc on an already dealloced session
When srtp_create fails, the session may be dealloced or just not alloced. At
the same time though, the session pointer might not be set to NULL in this
process and attempting to srtp_dealloc it again will cause a segfault. This
patch checks for failure of srtp_create and sets the session pointer to NULL
if it fails.

(closes issue ASTERISK-20499)
Reported by: tootai
Review: https://reviewboard.asterisk.org/r/2228/
........

Merged revisions 377256 from http://svn.asterisk.org/svn/asterisk/branches/1.8
........

Merged revisions 377261 from http://svn.asterisk.org/svn/asterisk/branches/10
........

Merged revisions 377262 from http://svn.asterisk.org/svn/asterisk/branches/11


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@377263 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2012-12-05 17:17:06 +00:00
Joshua Colp
b206511914 Fix a SIP request memory leak with TLS connections.
During the TLS re-work in chan_sip some TLS specific code was moved
into a separate function. This function operates on a copy of the
incoming SIP request. This copy was never deinitialized causing a
memory leak for each request processed.

This function is now given a SIP request structure which it can use
to copy the incoming request into. This reduces the amount of memory
allocations done since the internal allocated components are reused
between packets and also ensures the SIP request structure is
deinitialized when the TLS connection is torn down.

(closes issue ASTERISK-20763)
Reported by: deti
........

Merged revisions 377257 from http://svn.asterisk.org/svn/asterisk/branches/1.8
........

Merged revisions 377258 from http://svn.asterisk.org/svn/asterisk/branches/10
........

Merged revisions 377259 from http://svn.asterisk.org/svn/asterisk/branches/11


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@377260 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2012-12-05 16:51:58 +00:00
Automerge script
521f9e8dfe Merged revisions 377245-377246 via svnmerge from
file:///srv/subversion/repos/asterisk/trunk

................
  r377245 | rmudgett | 2012-12-04 20:20:57 -0600 (Tue, 04 Dec 2012) | 8 lines
  
  Fix registering core show codecs/codec CLI commands twice.
  ........
  
  Merged revisions 377241 from http://svn.asterisk.org/svn/asterisk/branches/10
  ........
  
  Merged revisions 377244 from http://svn.asterisk.org/svn/asterisk/branches/11
................
  r377246 | rmudgett | 2012-12-04 20:23:10 -0600 (Tue, 04 Dec 2012) | 1 line
  
  Remove init_framer(). It no longer does anything.
................


git-svn-id: https://origsvn.digium.com/svn/asterisk/team/mmichelson/threadpool@377251 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2012-12-05 03:19:08 +00:00
Richard Mudgett
7c0b94a3e5 Remove init_framer(). It no longer does anything.
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@377246 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2012-12-05 02:23:10 +00:00
Richard Mudgett
4dcb973228 Fix registering core show codecs/codec CLI commands twice.
........

Merged revisions 377241 from http://svn.asterisk.org/svn/asterisk/branches/10
........

Merged revisions 377244 from http://svn.asterisk.org/svn/asterisk/branches/11


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@377245 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2012-12-05 02:20:57 +00:00
Automerge script
02e9f9fdd7 Merged revisions 377229 via svnmerge from
file:///srv/subversion/repos/asterisk/trunk

................
  r377229 | rmudgett | 2012-12-04 19:11:26 -0600 (Tue, 04 Dec 2012) | 31 lines
  
  confbridge: Fix several small issues.
  
  * Made func_confbridge_helper() allow an empty value when setting options.
  You previously could not Set(CONFBRIDGE(user,pin)=) and clear the
  configured pin from the dialplan.
  
  * Made func_confbridge_helper() handle its datastore better if multiple
  threads attempt to set the first CONFBRIDGE option value on the channel.
  
  * Made the func_confbridge_helper() only output one diagnostic message
  concerning the option.
  
  * Made the bridge video_mode able to repeatedly change in the config file
  and CONFBRIDGE dialplan function.  The video_mode option values are an
  enum and not independent of each other.
  
  * Made handle_cli_confbridge_show_bridge_profile() better handle the
  video_mode option.
  
  * Simplified datastore handling code in conf_find_user_profile() and
  conf_find_bridge_profile().
  
  (closes issue ASTERISK-20655)
  Reported by: Birger "WIMPy" Harzenetter
  ........
  
  Merged revisions 377227 from http://svn.asterisk.org/svn/asterisk/branches/10
  ........
  
  Merged revisions 377228 from http://svn.asterisk.org/svn/asterisk/branches/11
................


git-svn-id: https://origsvn.digium.com/svn/asterisk/team/mmichelson/threadpool@377235 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2012-12-05 01:19:26 +00:00
Richard Mudgett
ddad7cf4bd confbridge: Fix several small issues.
* Made func_confbridge_helper() allow an empty value when setting options.
You previously could not Set(CONFBRIDGE(user,pin)=) and clear the
configured pin from the dialplan.

* Made func_confbridge_helper() handle its datastore better if multiple
threads attempt to set the first CONFBRIDGE option value on the channel.

* Made the func_confbridge_helper() only output one diagnostic message
concerning the option.

* Made the bridge video_mode able to repeatedly change in the config file
and CONFBRIDGE dialplan function.  The video_mode option values are an
enum and not independent of each other.

* Made handle_cli_confbridge_show_bridge_profile() better handle the
video_mode option.

* Simplified datastore handling code in conf_find_user_profile() and
conf_find_bridge_profile().

(closes issue ASTERISK-20655)
Reported by: Birger "WIMPy" Harzenetter
........

Merged revisions 377227 from http://svn.asterisk.org/svn/asterisk/branches/10
........

Merged revisions 377228 from http://svn.asterisk.org/svn/asterisk/branches/11


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@377229 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2012-12-05 01:11:26 +00:00
Mark Michelson
cc63d2c380 Add better listener support.
Add some parameters to listener callbacks.
Add alloc and destroy callbacks for listeners.
Add public function for allocating a listener.



git-svn-id: https://origsvn.digium.com/svn/asterisk/team/mmichelson/threadpool@377226 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2012-12-04 23:45:39 +00:00
Automerge script
4acb2070f2 Merged revisions 377214 via svnmerge from
file:///srv/subversion/repos/asterisk/trunk

................
  r377214 | rmudgett | 2012-12-04 16:34:05 -0600 (Tue, 04 Dec 2012) | 8 lines
  
  confbridge: Update online XML documentation.
  ........
  
  Merged revisions 377212 from http://svn.asterisk.org/svn/asterisk/branches/10
  ........
  
  Merged revisions 377213 from http://svn.asterisk.org/svn/asterisk/branches/11
................


git-svn-id: https://origsvn.digium.com/svn/asterisk/team/mmichelson/threadpool@377220 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2012-12-04 23:19:30 +00:00
Richard Mudgett
61c2017d1f confbridge: Update online XML documentation.
........

Merged revisions 377212 from http://svn.asterisk.org/svn/asterisk/branches/10
........

Merged revisions 377213 from http://svn.asterisk.org/svn/asterisk/branches/11


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@377214 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2012-12-04 22:34:05 +00:00
Mark Michelson
2158005bdb Remove zombie state from threadpool altogether.
After giving it some consideration, there's no real
use for zombie threads. Listeners can't really use the
current number of zombie threads as a way of gauging activity,
zombifying threads is just an extra step before they die that
really serves no purpose, and since there's no way to re-animate
zombies, the operation does not need to be around.

I also fixed up some miscellaneous compilation errors that
were lingering from some past revisions.



git-svn-id: https://origsvn.digium.com/svn/asterisk/team/mmichelson/threadpool@377211 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2012-12-04 22:11:31 +00:00
Mark Michelson
c16371fab6 Simplify threadpool refcounting a bit.
Since threadpool shutdown is very strictly controlled,
there is no need to be so precise with reference counts
in queued operations. Since the threadpool shuts down its
own control taskprocessor before doing anything else destructive,
it can be guaranteed that all queued tasks will have a valid
pointer to the pool. This meant that some destructor functions
for helper structs could be removed entirely.



git-svn-id: https://origsvn.digium.com/svn/asterisk/team/mmichelson/threadpool@377210 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2012-12-04 21:21:15 +00:00
Mark Michelson
a37fb2e8c8 Add some doxygen and rearrange code.
git-svn-id: https://origsvn.digium.com/svn/asterisk/team/mmichelson/threadpool@377209 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2012-12-04 21:11:34 +00:00
Automerge script
47a9abdeda Merged revisions 377196 via svnmerge from
file:///srv/subversion/repos/asterisk/trunk

................
  r377196 | russell | 2012-12-04 07:01:23 -0600 (Tue, 04 Dec 2012) | 7 lines
  
  Add libuuid to install_prereq for Fedora.
  
  I ran this script and my build failed.  pjproject requires this.
  ........
  
  Merged revisions 377195 from http://svn.asterisk.org/svn/asterisk/branches/11
................


git-svn-id: https://origsvn.digium.com/svn/asterisk/team/mmichelson/threadpool@377201 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2012-12-04 13:20:08 +00:00
Russell Bryant
f750caba3a Add libuuid to install_prereq for Fedora.
I ran this script and my build failed.  pjproject requires this.
........

Merged revisions 377195 from http://svn.asterisk.org/svn/asterisk/branches/11


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@377196 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2012-12-04 13:01:23 +00:00
Automerge script
f40b6ad46d Merged revisions 377168 via svnmerge from
file:///srv/subversion/repos/asterisk/trunk

................
  r377168 | rmudgett | 2012-12-03 17:00:08 -0600 (Mon, 03 Dec 2012) | 21 lines
  
  Cleanup ast_run_atexits() atexits list.
  
  * Convert atexits list to a mutex instead of a rd/wr lock.  The lock is
  only write locked.
  
  * Move CLI verbose Asterisk ending message to where AMI message is output
  in really_quit() to avoid further surprises about using stuff already
  shutdown.
  
  (issue ASTERISK-20649)
  Reported by: Corey Farrell
  ........
  
  Merged revisions 377165 from http://svn.asterisk.org/svn/asterisk/branches/1.8
  ........
  
  Merged revisions 377166 from http://svn.asterisk.org/svn/asterisk/branches/10
  ........
  
  Merged revisions 377167 from http://svn.asterisk.org/svn/asterisk/branches/11
................


git-svn-id: https://origsvn.digium.com/svn/asterisk/team/mmichelson/threadpool@377175 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2012-12-03 23:19:30 +00:00
Richard Mudgett
83c5fac6b1 Cleanup ast_run_atexits() atexits list.
* Convert atexits list to a mutex instead of a rd/wr lock.  The lock is
only write locked.

* Move CLI verbose Asterisk ending message to where AMI message is output
in really_quit() to avoid further surprises about using stuff already
shutdown.

(issue ASTERISK-20649)
Reported by: Corey Farrell
........

Merged revisions 377165 from http://svn.asterisk.org/svn/asterisk/branches/1.8
........

Merged revisions 377166 from http://svn.asterisk.org/svn/asterisk/branches/10
........

Merged revisions 377167 from http://svn.asterisk.org/svn/asterisk/branches/11


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@377168 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2012-12-03 23:00:08 +00:00
Automerge script
d53adbe449 Merged revisions 377138 via svnmerge from
file:///srv/subversion/repos/asterisk/trunk

................
  r377138 | rmudgett | 2012-12-03 14:46:11 -0600 (Mon, 03 Dec 2012) | 23 lines
  
  Cleanup core main on exit.
  
  * Cleanup time zones on exit.
  
  * Make exit clean/unclean report consistent for AMI and CLI in
  really_quit().
  
  (issue ASTERISK-20649)
  Reported by: Corey Farrell
  Patches:
        core-cleanup-1_8-10.patch (license #5909) patch uploaded by Corey Farrell
        core-cleanup-11-trunk.patch (license #5909) patch uploaded by Corey Farrell
        Modified
  ........
  
  Merged revisions 377135 from http://svn.asterisk.org/svn/asterisk/branches/1.8
  ........
  
  Merged revisions 377136 from http://svn.asterisk.org/svn/asterisk/branches/10
  ........
  
  Merged revisions 377137 from http://svn.asterisk.org/svn/asterisk/branches/11
................


git-svn-id: https://origsvn.digium.com/svn/asterisk/team/mmichelson/threadpool@377145 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2012-12-03 21:19:40 +00:00
Richard Mudgett
77561124b0 Cleanup core main on exit.
* Cleanup time zones on exit.

* Make exit clean/unclean report consistent for AMI and CLI in
really_quit().

(issue ASTERISK-20649)
Reported by: Corey Farrell
Patches:
      core-cleanup-1_8-10.patch (license #5909) patch uploaded by Corey Farrell
      core-cleanup-11-trunk.patch (license #5909) patch uploaded by Corey Farrell
      Modified
........

Merged revisions 377135 from http://svn.asterisk.org/svn/asterisk/branches/1.8
........

Merged revisions 377136 from http://svn.asterisk.org/svn/asterisk/branches/10
........

Merged revisions 377137 from http://svn.asterisk.org/svn/asterisk/branches/11


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@377138 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2012-12-03 20:46:11 +00:00
Automerge script
aea70ddc83 Merged revisions 377107 via svnmerge from
file:///srv/subversion/repos/asterisk/trunk

................
  r377107 | rmudgett | 2012-12-03 13:33:06 -0600 (Mon, 03 Dec 2012) | 16 lines
  
  Cleanup config cache on exit.
  
  (issue ASTERISK-20649)
  Reported by: Corey Farrell
  Patches:
        config-cleanup-all.patch (license #5909) patch uploaded by Corey Farrell
  ........
  
  Merged revisions 377104 from http://svn.asterisk.org/svn/asterisk/branches/1.8
  ........
  
  Merged revisions 377105 from http://svn.asterisk.org/svn/asterisk/branches/10
  ........
  
  Merged revisions 377106 from http://svn.asterisk.org/svn/asterisk/branches/11
................


git-svn-id: https://origsvn.digium.com/svn/asterisk/team/mmichelson/threadpool@377114 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2012-12-03 20:19:34 +00:00
Richard Mudgett
f9cc7a15ad Cleanup config cache on exit.
(issue ASTERISK-20649)
Reported by: Corey Farrell
Patches:
      config-cleanup-all.patch (license #5909) patch uploaded by Corey Farrell
........

Merged revisions 377104 from http://svn.asterisk.org/svn/asterisk/branches/1.8
........

Merged revisions 377105 from http://svn.asterisk.org/svn/asterisk/branches/10
........

Merged revisions 377106 from http://svn.asterisk.org/svn/asterisk/branches/11


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@377107 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2012-12-03 19:33:06 +00:00
Automerge script
1ba058bb7d Merged revisions 377072,377077 via svnmerge from
file:///srv/subversion/repos/asterisk/trunk

................
  r377072 | rmudgett | 2012-12-03 12:45:18 -0600 (Mon, 03 Dec 2012) | 21 lines
  
  Cleanup CDR resources on exit.
  
  * Simplify do_reload() return handling since it never returned anything
  other than 0.
  
  (issue ASTERISK-20649)
  Reported by: Corey Farrell
  Patches:
        cdr-cleanup-1_8.patch (license #5909) patch uploaded by Corey Farrell
        cdr-cleanup-10-11-trunk.patch (license #5909) patch uploaded by Corey Farrell
        Modified
  ........
  
  Merged revisions 377069 from http://svn.asterisk.org/svn/asterisk/branches/1.8
  ........
  
  Merged revisions 377070 from http://svn.asterisk.org/svn/asterisk/branches/10
  ........
  
  Merged revisions 377071 from http://svn.asterisk.org/svn/asterisk/branches/11
................
  r377077 | rmudgett | 2012-12-03 13:17:24 -0600 (Mon, 03 Dec 2012) | 18 lines
  
  Cleanup CLI resources on exit and CLI command registration errors.
  
  (issue ASTERISK-20649)
  Reported by: Corey Farrell
  Patches:
        cli-leaks-1_8-10.patch (license #5909) patch uploaded by Corey Farrell
        cli-leaks-11-trunk.patch (license #5909) patch uploaded by Corey Farrell
        Modified
  ........
  
  Merged revisions 377073 from http://svn.asterisk.org/svn/asterisk/branches/1.8
  ........
  
  Merged revisions 377074 from http://svn.asterisk.org/svn/asterisk/branches/10
  ........
  
  Merged revisions 377075 from http://svn.asterisk.org/svn/asterisk/branches/11
................


git-svn-id: https://origsvn.digium.com/svn/asterisk/team/mmichelson/threadpool@377083 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2012-12-03 19:19:39 +00:00
Richard Mudgett
595dd41c45 Cleanup CLI resources on exit and CLI command registration errors.
(issue ASTERISK-20649)
Reported by: Corey Farrell
Patches:
      cli-leaks-1_8-10.patch (license #5909) patch uploaded by Corey Farrell
      cli-leaks-11-trunk.patch (license #5909) patch uploaded by Corey Farrell
      Modified
........

Merged revisions 377073 from http://svn.asterisk.org/svn/asterisk/branches/1.8
........

Merged revisions 377074 from http://svn.asterisk.org/svn/asterisk/branches/10
........

Merged revisions 377075 from http://svn.asterisk.org/svn/asterisk/branches/11


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@377077 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2012-12-03 19:17:24 +00:00
Richard Mudgett
b59c27000a Cleanup CDR resources on exit.
* Simplify do_reload() return handling since it never returned anything
other than 0.

(issue ASTERISK-20649)
Reported by: Corey Farrell
Patches:
      cdr-cleanup-1_8.patch (license #5909) patch uploaded by Corey Farrell
      cdr-cleanup-10-11-trunk.patch (license #5909) patch uploaded by Corey Farrell
      Modified
........

Merged revisions 377069 from http://svn.asterisk.org/svn/asterisk/branches/1.8
........

Merged revisions 377070 from http://svn.asterisk.org/svn/asterisk/branches/10
........

Merged revisions 377071 from http://svn.asterisk.org/svn/asterisk/branches/11


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@377072 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2012-12-03 18:45:18 +00:00
Mark Michelson
66fe664c00 Fix a few miscellaneous things
* Renamed some taskprocessor listener callbacks
* Fixed what would become a refcounting issue for pools
* Removed some XXX comments from allocation failure points



git-svn-id: https://origsvn.digium.com/svn/asterisk/team/mmichelson/threadpool@377061 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2012-12-03 17:24:11 +00:00
Automerge script
f6f7774b19 Merged revisions 377035,377040 via svnmerge from
file:///srv/subversion/repos/asterisk/trunk

................
  r377035 | oej | 2012-12-03 10:45:49 -0600 (Mon, 03 Dec 2012) | 2 lines
  
  Formatting fixes
................
  r377040 | rmudgett | 2012-12-03 11:10:40 -0600 (Mon, 03 Dec 2012) | 16 lines
  
  Fix CCSS CLI commands and logger level not unregistered.
  
  (issue ASTERISK-20649)
  Reported by: Corey Farrell
  Patches:
        ccss-cleanup-all.patch (license #5909) patch uploaded by Corey Farrell
  ........
  
  Merged revisions 377037 from http://svn.asterisk.org/svn/asterisk/branches/1.8
  ........
  
  Merged revisions 377038 from http://svn.asterisk.org/svn/asterisk/branches/10
  ........
  
  Merged revisions 377039 from http://svn.asterisk.org/svn/asterisk/branches/11
................


git-svn-id: https://origsvn.digium.com/svn/asterisk/team/mmichelson/threadpool@377047 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2012-12-03 17:19:46 +00:00
Richard Mudgett
a36f73447d Fix CCSS CLI commands and logger level not unregistered.
(issue ASTERISK-20649)
Reported by: Corey Farrell
Patches:
      ccss-cleanup-all.patch (license #5909) patch uploaded by Corey Farrell
........

Merged revisions 377037 from http://svn.asterisk.org/svn/asterisk/branches/1.8
........

Merged revisions 377038 from http://svn.asterisk.org/svn/asterisk/branches/10
........

Merged revisions 377039 from http://svn.asterisk.org/svn/asterisk/branches/11


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@377040 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2012-12-03 17:10:40 +00:00
Mark Michelson
e7ce12839d This now compiles.
That's a milestone, of sorts. Things really need
arranging/documenting, and there's no function to
be able to push tasks to a threadpool.



git-svn-id: https://origsvn.digium.com/svn/asterisk/team/mmichelson/threadpool@377036 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2012-12-03 16:59:26 +00:00
Olle Johansson
e3faeb67e8 Formatting fixes
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@377035 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2012-12-03 16:45:49 +00:00
Automerge script
b44f72f794 Merged revisions 377018,377022 via svnmerge from
file:///srv/subversion/repos/asterisk/trunk

................
  r377018 | oej | 2012-12-03 08:46:02 -0600 (Mon, 03 Dec 2012) | 5 lines
  
  Move functions to AFTER the block of forward declarations of functions. 
  
  It was a mess. The first part of chan_sip.c is constants, declarations, structures and stuff,
  then forward declarations and then actual code. It's still a mess, but a bit less messy ;-)
................
  r377022 | file | 2012-12-03 08:56:36 -0600 (Mon, 03 Dec 2012) | 13 lines
  
  Fix an RTP instance reference count leak in chan_motif.
  
  When setting up an RTP instance the RTCP portion of the instance
  keeps a reference to the instance itself. In order to release this
  reference and stop RTCP the stop API call must be called before
  destroying the instance.
  
  (closes issue ASTERISK-20751)
  Reported by: joshoa
  ........
  
  Merged revisions 377021 from http://svn.asterisk.org/svn/asterisk/branches/11
................


git-svn-id: https://origsvn.digium.com/svn/asterisk/team/mmichelson/threadpool@377028 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2012-12-03 15:19:37 +00:00
Joshua Colp
bd8fbeed01 Fix an RTP instance reference count leak in chan_motif.
When setting up an RTP instance the RTCP portion of the instance
keeps a reference to the instance itself. In order to release this
reference and stop RTCP the stop API call must be called before
destroying the instance.

(closes issue ASTERISK-20751)
Reported by: joshoa
........

Merged revisions 377021 from http://svn.asterisk.org/svn/asterisk/branches/11


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@377022 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2012-12-03 14:56:36 +00:00
Olle Johansson
712aaa9828 Move functions to AFTER the block of forward declarations of functions.
It was a mess. The first part of chan_sip.c is constants, declarations, structures and stuff,
then forward declarations and then actual code. It's still a mess, but a bit less messy ;-)


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@377018 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2012-12-03 14:46:02 +00:00
Automerge script
129b1fba48 Merged revisions 376998 via svnmerge from
file:///srv/subversion/repos/asterisk/trunk

........
  r376998 | oej | 2012-12-03 03:35:55 -0600 (Mon, 03 Dec 2012) | 4 lines
  
  Formatting changes
  
  Found a large amount of missing {} in the code before patching in another branch
........


git-svn-id: https://origsvn.digium.com/svn/asterisk/team/mmichelson/threadpool@377003 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2012-12-03 10:20:59 +00:00