Commit Graph

40 Commits

Author SHA1 Message Date
Luigi Rizzo e43bc6634d This rather large commit changes the way modules are loaded.
As partly documented in loader.c and include/asterisk/module.h,
modules are now expected to return all of their methods and flags
into a structure 'mod_data', and are normally loaded with RTLD_NOW
| RTLD_LOCAL, so symbols are resolved immediately and conflicts
should be less likely.  Only in a small number of cases (res_*,
typically) modules are loaded RTLD_GLOBAL, so they can export
symbols.
 
The core of the change is only the two files loader.c and
include/asterisk/module.h, all the rest is simply adaptation of the
existing modules to the new API, a rather mechanical (but believe
me, time and finger-consuming!) process whose detail you can figure
out by svn diff'ing any single module.

Expect some minor compilation issue after this change, please
report it on mantis http://bugs.digium.com/view.php?id=6968
so we collect all the feedback in one place.

I am just sorry that this change missed SVN version number 20000!



git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@20003 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-04-14 14:08:19 +00:00
Luigi Rizzo 7ba1b92a04 normalize code preparing for loader changes
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@19220 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-04-11 15:19:34 +00:00
Kevin P. Fleming f10f427d49 since the module API is changing, it's a good time to const-ify the description() and key() return values
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@18552 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-04-08 22:01:19 +00:00
Russell Bryant a0d438fb6c remove the uses of the deprecated STANDARD_LOCAL_USER
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@10241 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-02-15 20:11:56 +00:00
Russell Bryant a725468381 update doxygen docs to specify authors
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@7682 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-12-30 21:18:06 +00:00
Russell Bryant ec05153ac4 convert most of the option_*'s to a single ast_flags structure. Also, fix some
formatting, remove some unnecessary casts, and other little code cleanups.


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@7331 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-12-04 20:40:46 +00:00
Russell Bryant 0d341e060f use app arg parsing macros (issue #5678)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@7239 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-11-30 20:15:36 +00:00
Kevin P. Fleming 2c65582b66 remove extraneous svn:executable properties
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@7221 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-11-29 18:24:39 +00:00
Russell Bryant 642be05f09 fix typos in my doc cleanup
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@7048 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-11-10 21:39:01 +00:00
Russell Bryant f3b4e0291c clean up some application descriptions to use more gooder English
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@7047 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-11-10 20:56:45 +00:00
Russell Bryant 987b87662c make app_queue 1.2 jump compliant (issue #5580)
add missing includes of stdio.h
remove some unused and duplicate headers


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@7026 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-11-08 04:48:00 +00:00
Kevin P. Fleming f09c6bc78e application doc update
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6992 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-11-07 22:01:22 +00:00
Russell Bryant f477f462d3 issue #5598
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6980 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-11-06 18:11:13 +00:00
Russell Bryant 31a804b97c issue #5605
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6979 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-11-06 15:09:47 +00:00
Russell Bryant 5187de9ab6 remove unnecessary checks before calls to ast_strlen_zero
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6864 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-10-26 19:48:14 +00:00
Russell Bryant 3453e3efa5 Doxygen documentation update from oej (issue #5505)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6847 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-10-24 20:12:06 +00:00
Russell Bryant 4aa7912057 Massive cleanups to applications for LOCAL_USER handling and some other things.
In general, LOCAL_USER_ADD/REMOVE should be the first/last thing called in an
application.  An exception is if there is some *fast* setup code that might
halt the execution of the application, such as checking to see if an argument
exists.


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6832 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-10-19 18:19:02 +00:00
Russell Bryant 29829640bf it's a good idea to unregister everything before calling STANDARD_HANGUP_LOCALUSERS
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6828 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-10-18 22:52:21 +00:00
Josh Roberson 82d7020516 Don't only accept AST_DEVICE_UNKNOWN when we're trying to determine if the device is in use. (Bug # 5338)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6815 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-10-18 03:29:12 +00:00
Russell Bryant 9f0cf49bca make sure to LOCAL_USER_REMOVE in all cases where the application can exit (issue #5307)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6678 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-09-28 19:42:36 +00:00
Kevin P. Fleming b151666d4c correct sense of logic test (issue #5259)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6650 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-09-25 20:37:05 +00:00
Kevin P. Fleming 5da915dcfd update MANY more files with proper copyright/license info (thanks Ian!)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6596 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-09-14 20:46:50 +00:00
Kevin P. Fleming e0f02b46f1 convert a bunch of apps to use ast_goto_if_exists() (issue #5138)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6533 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-09-07 19:13:00 +00:00
Kevin P. Fleming c13d601fb4 queue device state changes and handle them serially in a background thread
optimize device state related functions
add ast_get_channel_by_name_prefix to allow searching for matching channels in O(1) operation


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6062 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-07-08 21:14:34 +00:00
Kevin P. Fleming c0b1e88e8a the last round of file version tags
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5867 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-06-06 22:39:32 +00:00
Kevin P. Fleming 1f9ab2380a use double-quotes instead of angle-brackets for non-system include files (bug #4058)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5490 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-04-21 06:02:45 +00:00
Mark Spencer edf265741e Fix chanisavail typo that forced "state" mode (bug #3873)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5282 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-03-27 23:01:55 +00:00
Russell Bryant 0c30452423 update copyright headers for 2005
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4868 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-01-21 07:06:25 +00:00
Mark Spencer 6884bd9758 Documentation fixes (bug #3170)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4580 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-12-28 23:58:12 +00:00
Mark Spencer 9dcb9a0000 Channel availability updates (bug #2829 with mods)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4257 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-11-15 16:27:28 +00:00
Mark Spencer 8a13712e45 Pass concept of status back, permit "leaveempty" to work with static agents who are not loggedon (bug #2719)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4106 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-10-26 22:25:43 +00:00
Mark Spencer 04fc29c8b2 Huge callerid rework (might break H.323, others)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3874 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-10-02 00:58:31 +00:00
James Golovich f5c18f62a1 Remove pthread.h from source. We should be using asterisk/lock.h everywhere instead (except in asterisk/lock.h).
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3277 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-06-22 19:32:52 +00:00
Mark Spencer e115566669 Can't use the same buffer to snprintf that we're grabbing
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3156 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-06-06 17:36:57 +00:00
Mark Spencer b9d81ae6ad Add ${AVAILORIGCHAN} with original channel name (bug #1793)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3149 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-06-05 18:42:59 +00:00
James Golovich 40ec19961c Fix app_chanisavail.c when passed string is big (bug #1139)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2295 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-03-02 17:49:33 +00:00
James Golovich b32c690175 Fix app_chanisavail if there are invalid arguments (bug #1130)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2277 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-02-29 18:30:48 +00:00
Mark Spencer 259d29a58d Fix documentation on chanisavail
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@784 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-04-08 19:14:03 +00:00
Matteo Brancaleoni 72ee4c5781 mar mar 18 18:03:23 CET 2003
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@653 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-03-18 17:03:33 +00:00
Matteo Brancaleoni 7640e83360 Sun Mar 16 07:00:01 CET 2003
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@646 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-03-16 06:00:11 +00:00