asterisk/apps
Russell Bryant 0bfe2d4cc4 astobj2-ify the SLA code
The SLA code within app_meetme was written before asotbj2 had been
merged into Asterisk.  Worse, support for reloads did not exist at first
and was added later as a bolt-on feature.  I knew at the time that
reloading was not safe at all while SLA was in use, so the reload would
be queued up to execute when the system was idle.  Unfortunately, this
approach was still prone to errors beyond the fact that this was the
only place in Asterisk where configuration was not reloaded
instantly when requested.

This patch converts various SLA objects to be reference counted objects
using astobj2.  This allows reloads to be processed while the system is
in use.  The code ensures that the objects will not disappear while one
of the other threads is using them.  However, they will be immediately
removed from the global trunk and station containers so no new calls
will use them if removed from configuration.

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

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

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


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@393930 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2013-07-10 01:56:15 +00:00
..
confbridge Fix incorrect calls to ast_bridge_impart(). 2013-06-26 01:46:30 +00:00
Makefile Moved core logic from app_stasis to res_stasis 2013-04-15 16:43:47 +00:00
app_adsiprog.c Doxygen Updates - Title update 2012-10-14 21:45:16 +00:00
app_alarmreceiver.c Fix XML Document Validation Failure 2012-10-18 20:31:05 +00:00
app_amd.c Doxygen Updates - Title update 2012-10-14 21:45:16 +00:00
app_authenticate.c Update Asterisk's CDRs for the new bridging framework 2013-06-17 03:00:38 +00:00
app_bridgewait.c * Fix a couple missed hook installs that need AST_BRIDGE_HOOK_REMOVE_ON_PULL. 2013-06-06 20:47:10 +00:00
app_cdr.c Update Asterisk's CDRs for the new bridging framework 2013-06-17 03:00:38 +00:00
app_celgenuserevent.c CEL refactoring cleanup 2013-06-25 13:03:17 +00:00
app_chanisavail.c app_chanisavail: Fix use of uninitialized variable. 2012-03-14 23:29:32 +00:00
app_channelredirect.c Merge in the bridge_construction branch to make the system use the Bridging API. 2013-05-21 18:00:22 +00:00
app_chanspy.c Migrate a large number of AMI events over to Stasis-Core 2013-05-24 20:44:07 +00:00
app_confbridge.c app_confbridge: Fix memory leak on reload. 2013-06-13 19:04:41 +00:00
app_controlplayback.c Add ControlPlayback manager action 2013-01-22 15:16:20 +00:00
app_dahdibarge.c Opaquify ast_channel typedefs, fd arrays, and softhangup flag 2012-03-01 22:09:18 +00:00
app_dahdiras.c Opaquify ast_channel typedefs, fd arrays, and softhangup flag 2012-03-01 22:09:18 +00:00
app_db.c Don't throw a spurious error when using DBdeltree 2013-02-14 03:49:52 +00:00
app_dial.c CEL refactoring cleanup 2013-06-25 13:03:17 +00:00
app_dictate.c Clean up and ensure proper usage of alloca() 2012-07-31 20:21:43 +00:00
app_directed_pickup.c Named call pickup groups. Fixes, missing functionality, and improvements. 2012-09-20 17:22:41 +00:00
app_directory.c Don't perform a realtime lookup with a NULL keyword 2013-05-08 18:36:21 +00:00
app_disa.c Update Asterisk's CDRs for the new bridging framework 2013-06-17 03:00:38 +00:00
app_dumpchan.c Update Asterisk's CDRs for the new bridging framework 2013-06-17 03:00:38 +00:00
app_echo.c Prevent Echo() from relaying control, null, and modem frames 2012-03-20 20:42:34 +00:00
app_exec.c Merged revisions 328247 via svnmerge from 2011-07-14 20:28:54 +00:00
app_externalivr.c Remove declaration of eivr_connect_socket because it no longer exists. 2012-06-20 11:47:12 +00:00
app_fax.c Resolve a merge conflict 2013-05-29 02:26:17 +00:00
app_festival.c Doxygen Updates - Title update 2012-10-14 21:45:16 +00:00
app_flash.c Opaquify ast_channel typedefs, fd arrays, and softhangup flag 2012-03-01 22:09:18 +00:00
app_followme.c Update Asterisk's CDRs for the new bridging framework 2013-06-17 03:00:38 +00:00
app_forkcdr.c Update Asterisk's CDRs for the new bridging framework 2013-06-17 03:00:38 +00:00
app_getcpeid.c Clean up and ensure proper usage of alloca() 2012-07-31 20:21:43 +00:00
app_ices.c Doxygen Updates - janitor work 2012-09-21 17:14:59 +00:00
app_image.c Merged revisions 328247 via svnmerge from 2011-07-14 20:28:54 +00:00
app_ivrdemo.c ast_channel opaquification of pointers and integral types 2012-02-20 23:43:27 +00:00
app_jack.c Multiple revisions 375993-375994 2012-11-07 19:15:26 +00:00
app_macro.c Clean up and ensure proper usage of alloca() 2012-07-31 20:21:43 +00:00
app_meetme.c astobj2-ify the SLA code 2013-07-10 01:56:15 +00:00
app_milliwatt.c Replace GNU old-style field designator extensions to fix clang warnings 2012-04-04 18:08:28 +00:00
app_minivm.c ARI - channel recording support 2013-07-03 17:58:45 +00:00
app_mixmonitor.c MixMonitor: Minor code cleanup. 2013-07-02 21:19:21 +00:00
app_morsecode.c Merged revisions 336717 via svnmerge from 2011-09-19 20:23:29 +00:00
app_mp3.c Opaquification for ast_format structs in struct ast_channel 2012-02-24 00:32:20 +00:00
app_nbscat.c Opaquification for ast_format structs in struct ast_channel 2012-02-24 00:32:20 +00:00
app_originate.c Allow support for early media on AMI originates and call files. 2012-08-08 22:39:40 +00:00
app_osplookup.c Update Asterisk's CDRs for the new bridging framework 2013-06-17 03:00:38 +00:00
app_page.c app_page and app_confbridge: Fix custom announcement on entering conference. 2013-02-05 19:11:33 +00:00
app_playback.c Properly load say.conf upon reload of module app_playback. 2013-02-11 21:17:04 +00:00
app_playtones.c ast_channel opaquification of pointers and integral types 2012-02-20 23:43:27 +00:00
app_privacy.c Opaquify ast_channel structs and lists 2012-02-29 16:52:47 +00:00
app_queue.c Refactor extraneous channel events 2013-07-01 13:16:09 +00:00
app_read.c ast_channel opaquification of pointers and integral types 2012-02-20 23:43:27 +00:00
app_readexten.c Opaquify ast_channel structs and lists 2012-02-29 16:52:47 +00:00
app_readfile.c Merged revisions 328247 via svnmerge from 2011-07-14 20:28:54 +00:00
app_record.c Multiple revisions 375993-375994 2012-11-07 19:15:26 +00:00
app_saycounted.c Merged revisions 336717 via svnmerge from 2011-09-19 20:23:29 +00:00
app_sayunixtime.c ast_channel opaquification of pointers and integral types 2012-02-20 23:43:27 +00:00
app_senddtmf.c Add pause one second W dial modifier. 2012-09-28 18:27:02 +00:00
app_sendtext.c ast_channel opaquification of pointers and integral types 2012-02-20 23:43:27 +00:00
app_setcallerid.c Opaquify ast_channel structs and lists 2012-02-29 16:52:47 +00:00
app_skel.c Add CLI configuration documentation 2013-02-15 13:38:12 +00:00
app_sms.c Clean up and ensure proper usage of alloca() 2012-07-31 20:21:43 +00:00
app_softhangup.c ast_channel opaquification of pointers and integral types 2012-02-20 23:43:27 +00:00
app_speech_utils.c Add support for retrieving engine specific settings using the speech API and from dialplan. 2012-10-01 12:29:04 +00:00
app_stack.c Migrate AMI VarSet events raised by GoSub local variables 2013-05-02 20:59:20 +00:00
app_stasis.c Fix menuselect display for stasis modules. 2013-06-24 21:40:52 +00:00
app_system.c Multiple revisions 369001-369002 2012-06-15 16:20:16 +00:00
app_talkdetect.c Finalize ast_channel opaquification 2012-03-13 18:20:34 +00:00
app_test.c Opaquification for ast_format structs in struct ast_channel 2012-02-24 00:32:20 +00:00
app_transfer.c Fix the display of documentation for Transfer 2012-04-03 20:14:01 +00:00
app_url.c Merged revisions 339777 via svnmerge from 2011-10-07 19:37:33 +00:00
app_userevent.c Refactor code and fix a reference leak 2013-05-31 19:00:51 +00:00
app_verbose.c ast_channel opaquification of pointers and integral types 2012-02-20 23:43:27 +00:00
app_voicemail.c ARI - channel recording support 2013-07-03 17:58:45 +00:00
app_voicemail.exports.in Remove some symbol exports that got missed in the removal of global symbols. 2012-06-15 15:33:41 +00:00
app_waitforring.c Multiple revisions 375993-375994 2012-11-07 19:15:26 +00:00
app_waitforsilence.c Opaquification for ast_format structs in struct ast_channel 2012-02-24 00:32:20 +00:00
app_waituntil.c Merged revisions 328247 via svnmerge from 2011-07-14 20:28:54 +00:00
app_while.c Clean up and ensure proper usage of alloca() 2012-07-31 20:21:43 +00:00
app_zapateller.c Opaquify ast_channel structs and lists 2012-02-29 16:52:47 +00:00
enter.h remove extraneous svn:executable properties 2005-11-29 18:24:39 +00:00
leave.h remove extraneous svn:executable properties 2005-11-29 18:24:39 +00:00