Commit Graph

91 Commits

Author SHA1 Message Date
Russell Bryant 92bd7f19f7 Merge team/russell/ast_verbose_threadstorage
- instead of defining a free() wrapper in a bunch of files, define it as
  ast_free() in utils.h and remove the copies from all the files.

- centralize and abstract the code used for doing thread storage. The code
  lives in threadstorage.h, with one function being implemented in utils.c.
  This new API includes generic thread storage as well as special functions
  for handling thread local dynamic length string buffers.

- update ast_inet_ntoa() to use the new threadstorage API
- update ast_state2str() to use the new threadstorage API
- update ast_cli() to use the new threadstorage API

- Modify manager_event() to use thread storage. Instead of using a buffer of
  4096 characters as the workspace for building the manager event, use a thread
  local dynamic string.  Now there is no length limitation on the length of the
  body of a manager event.

- Significantly simplify the handling of ast_verbose() ...
  - Instead of using a static char buffer and a lock to make sure only one
    thread can be using ast_verbose() at a time, use a thread local dynamic
    string as the workspace for preparing the verbose message. Instead of
    locking around the entire function, the only locking done now is when the
    message has been built and is being deliviered to the list of registered
    verbose message handlers.
  - This function was doing a strdup() on every message passed to it and
    keeping a queue of the last 200 messages in memory. This has been
    completely removed. The only place this was used was that if there were
    any messages in the verbose queue when a verbose handler was registered,
    all of the messages in the queue would be fed to it.  So, I just made sure
    that the console verbose handler and the network verbose handler (for
    remote asterisk consoles) were registered before any verbose messages.
    pbx_gtkconsole and pbx_kdeconsole will now lose a few verbose messages at
    startup, but I didn't feel the performance hit of this message queue was
    worth saving the initial verbose output for these very rarely used modules.
  - I have removed the last three arguments to the verbose handlers, leaving
    only the string itself because they aren't needed anymore. For example,
    ast_verbose had some logic for telling the verbose handler to add
    a newline if the buffer was completely full. Now that the buffer can grow
    as needed, this doesn't matter anymore.
  - remove unused function, ast_verbose_dmesg() which was to dispatch the
    message queue
  - Convert the list of verbose handlers to use the linked list macros.

- add missing newline characters to a few ast_verbose() calls

- convert the list of log channels to use the linked list macros in logger.c

- fix close_logger() to close all of the files it opened for logging

- update ast_log() to use a thread local dynamic string for its workspace
  for preparing log messages instead of a buffer of size BUFSIZ (8kB on my
  system) allocated on the stack.  The dynamic string in this case is limited
  to only growing to a maximum size of BUFSIZ.


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@39272 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-08-08 06:32:04 +00:00
Kevin P. Fleming acfa035afe Merged revisions 37417 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.2

........
r37417 | kpfleming | 2006-07-12 08:18:21 -0500 (Wed, 12 Jul 2006) | 2 lines

get rid of some more printf's (although most of these were ifdef-ed out)

........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@37418 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-07-12 13:29:10 +00:00
Kevin P. Fleming 472c1ca282 simplify autoconfig include mechanism (make tholo happy he can use lint again :-)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@32846 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-06-07 18:54:56 +00:00
Kevin P. Fleming dd6de5ee4e it's time... only enable global priority jumping if the config file says to do so
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@32281 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-06-05 14:00:13 +00:00
Kevin P. Fleming ed3ffb4b46 various doxygen fixes
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@26170 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-05-09 16:24:07 +00:00
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
Kevin P. Fleming f515078c53 Merged revisions 19345 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.2

........
r19345 | kpfleming | 2006-04-11 16:14:42 -0500 (Tue, 11 Apr 2006) | 2 lines

don't destroy the entire dialplan during 'reload', just atomically replace it like 'extensions reload' does (issue #6047)

........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@19346 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-04-11 21:18:27 +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
Luigi Rizzo 08dfc15553 whitespace and formatting fix postponed from last commit:
fix indentation of a large function, localize some variables
and add/remove whitespace where needed.



git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@17827 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-04-06 14:40:47 +00:00
Luigi Rizzo 25a61b9e08 split pbx_load_module so we can reduce the indentation depth.
Also convert to MOD_1 style.



git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@17825 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-04-06 14:23:37 +00:00
Luigi Rizzo 38f14cbca7 use FREE instead of free as pointer to the destructor function.
This way the MALLOC_DEBUG code will always get the correct argument.

(bug introduced in SVN15818)



git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@17824 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-04-06 14:02:19 +00:00
Olle Johansson 16728da6a7 Whitespace fix forgotten by someone who added a note about needing to fix this...
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@16234 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-03-29 20:08:14 +00:00
Luigi Rizzo 4ca73f8ae4 as reported in mantis #6066, fix a bunch of cli bugs and
inconsistencies.



git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@15818 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-03-28 22:44:55 +00:00
Olle Johansson acfc219733 Reverting revision 10998 that was accidentaly committed to trunk. My apologies.
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@10989 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-02-24 10:50:43 +00:00
Olle Johansson dd5222fd30 Update to trunk
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@10988 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-02-24 10:17:40 +00:00
Russell Bryant 6f71e1178e constify arguments in more places where strings should not be modified (issue #6286)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@8203 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-01-18 22:17:31 +00:00
Tilghman Lesher a84633ba26 Merged revisions 7831 via svnmerge from
/branches/1.2


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@7832 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-01-06 00:36:12 +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
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 d8dfa4434d finish merging doxygen updates from issue #5605
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@7096 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-11-14 19:00:38 +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
Kevin P. Fleming 053326ac85 ensure that priorityjumping option returns to its default during reload if it is no longer specified in extensions.conf
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6771 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-10-13 22:55:28 +00:00
Russell Bryant 779d033f21 move process_quotes_and_slashes to utils.c since it is used by both pbx_ael and pbx_config
clean up some formatting
remove some commented out reference code
move unload_module in pbx_ael down to be with the rest of the standard module functions


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6630 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-09-23 02:57:14 +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 5cc0413c54 add a global option to disable priority jumping in applications (when they get updated), settable in extensions.conf
change app_dial to use 'j' to _ENABLE_ priority jumping if it has been globally disabled


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6224 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-07-26 16:29:56 +00:00
Kevin P. Fleming 2b8338cb52 more file version tags
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5866 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-06-06 22:12:19 +00:00
Kevin P. Fleming 4f299de252 major Makefile and build process improvements, including removal of all hardcoded paths (modules must now use run-time paths as they should) (bug #4116)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5855 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-06-06 03:04:58 +00:00
Kevin P. Fleming ce89d985f2 allow global variables to be reset on reload (defaults to off) (bug #4385)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5825 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-06-03 02:27:08 +00:00
Russell Bryant 3c98814bb5 add 'dontwarn' option to asterisk.conf to appease the whining masses :p (bug #4320)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5723 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-05-19 01:57:19 +00:00
Russell Bryant 364e179b78 check to see if a comma or an open paren came first when splitting the application
from the application arguments (bug #4306)


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5721 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-05-19 01:18:37 +00:00
Russell Bryant 7d3f5785e9 fix some more typos and clarity issues
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5643 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-05-12 20:47:23 +00:00
Russell Bryant e82344f7e0 fix a little typo
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5641 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-05-12 20:36:40 +00:00
Kevin P. Fleming 8634ef9e4a don't use '%i' at all, since we have no current use cases that need non base-10 parsing (bug #4110)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5533 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-04-29 17:00:33 +00:00
Kevin P. Fleming a9831e75ee perform global variable substitution before splitting extension and cidmatch when reading in dialplan (bug #4035)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5515 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-04-27 04:52:58 +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 fdff1f69b5 Add warning for _. match (bug #4032)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5471 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-04-15 06:08:47 +00:00
Russell Bryant f0c880d6f6 silly typo
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5237 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-03-23 21:45:05 +00:00
Mark Spencer 5f726ad8c7 Merge config updates (bug #3406)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4889 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-01-25 06:10:20 +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 278a0a0891 Implement eswitch for evalulating variables at runtime (bug #3168)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4780 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-01-13 05:14:56 +00:00
Mark Spencer 82cbf28993 Add "Loopback" switch
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4070 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-10-24 02:53:24 +00:00
Mark Spencer 996c8e7126 Add autofallthrough mode
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4020 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-10-16 19:46:02 +00:00
Mark Spencer b4142e0cd2 Allow you to use labels with + to be nice to Tilghman.
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3897 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-10-03 16:15:44 +00:00
Mark Spencer 027f79d840 Add '+foo' option, update sample config
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3888 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-10-03 05:08:51 +00:00
Mark Spencer fce17976e9 Major PBX revamps (including labels, update examples)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3886 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-10-03 04:19:59 +00:00
Mark Spencer 34988d1ce9 Allow "n" or "next" and "s" or "same" in dialplan logic priorities
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3885 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-10-02 20:43:16 +00:00
Mark Spencer 64b9a563f2 Make menu interruptible (bug #2377), Also fix PBX "add extension" CLI (bug #2289)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3732 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-09-07 01:22:57 +00:00
Mark Spencer de3528f0be Save CID and switches in "save dialplan" command (bug #2279)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3630 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-08-21 18:55:39 +00:00
Mark Spencer 8c4cacbd58 Use ' instead of " for quoting in extensions.conf (bug #1872)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3257 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-06-21 14:20:03 +00:00
James Golovich d88a461764 Cleanup formatting
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3213 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-06-14 22:15:21 +00:00