Allow res_parking to be unloadable
authorKinsey Moore <kmoore@digium.com>
Sat, 17 Aug 2013 15:01:54 +0000 (15:01 +0000)
committerKinsey Moore <kmoore@digium.com>
Sat, 17 Aug 2013 15:01:54 +0000 (15:01 +0000)
commit56aea1c030a6ee322446b5c687da164246b0c0d5
tree5c7729fcff1c8660d559f68a78f07d0fde579516
parentd7f1f3127084e4b7b204141c0b40c28c327f74b0
Allow res_parking to be unloadable

This change protects accesses of res_parking such that it can unload
safely once transient uses of its registered functions are complete.
The parking API has been restructured such that its consumers do not
have access to the vtable exposed by the parking provider, but instead
route through stubs to prevent consumers from holding on to function
pointers.

This adds calls to all the parking unload functions and moves
application loading and unloading into functions in
parking_applications.c similar to the rest of the parts of res_parking.

Review: https://reviewboard.asterisk.org/r/2763/
(closes issue ASTERISK-22142)

git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@396890 65c4cc65-6c06-0410-ace0-fbb531ad65f3
channels/chan_dahdi.c
channels/chan_skinny.c
channels/sig_analog.c
include/asterisk/parking.h
main/bridge.c
main/bridge_channel.c
main/parking.c
res/parking/parking_applications.c
res/parking/parking_bridge_features.c
res/parking/res_parking.h
res/res_parking.c