Commit graph

98 commits

Author SHA1 Message Date
Steve Murphy
63f2f04cf4 This commits the performance mods that give the priority processing engine in the pbx, a 25-30% speed boost. The two updates used, are, first, to merge the ast_exists_extension() and the ast_spawn_extension() where they are called sequentially in a loop in the code, into a slightly upgraded version of ast_spawn_extension(), with a few extra args; and, second, I modified the substitute_variables_helper_full, so it zeroes out the byte after the evaluated string instead of demanding you pre-zero the buffer; I also went thru the code and removed the code that zeroed this buffer before every call to the substitute_variables_helper_full. The first fix provides about a 9% speedup, and the second the rest. These figures come from the 'PIPS' benchmark I describe in blogs, conf. reports, etc.
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@88166 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-11-01 22:26:51 +00:00
Jason Parker
ebe4050128 Switch from AST_CLI (formerly NEW_CLI) to AST_CLI_DEFINE, since the former didn't make much sense
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@86820 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-10-22 20:05:18 +00:00
Jason Parker
b0f3e6097e Convert NEW_CLI to AST_CLI.
Closes issue #11039, as suggested by seanbright.


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@86536 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-10-19 18:29:40 +00:00
Russell Bryant
e97a723cf1 Merge a ton of NEW_CLI conversions. Thanks to everyone that helped out! :)
(closes issue #10724)
Reported by: eliel
Patches: 
      chan_skinny.c.patch uploaded by eliel (license 64)
      chan_oss.c.patch uploaded by eliel (license 64)
      chan_mgcp.c.patch2 uploaded by eliel (license 64)
      pbx_config.c.patch uploaded by seanbright (license 71)
      iax2-provision.c.patch uploaded by eliel (license 64)
      chan_gtalk.c.patch uploaded by eliel (license 64)
      pbx_ael.c.patch uploaded by seanbright (license 71)
      file.c.patch uploaded by seanbright (license 71)
      image.c.patch uploaded by seanbright (license 71)
      cli.c.patch uploaded by moy (license 222)
      astobj2.c.patch uploaded by moy (license 222)
      asterisk.c.patch uploaded by moy (license 222)
      res_limit.c.patch uploaded by seanbright (license 71)
      res_convert.c.patch uploaded by seanbright (license 71)
      res_crypto.c.patch uploaded by seanbright (license 71)
      app_osplookup.c.patch uploaded by seanbright (license 71)
      app_rpt.c.patch uploaded by seanbright (license 71)
      app_mixmonitor.c.patch uploaded by seanbright (license 71)
      channel.c.patch uploaded by seanbright (license 71)
      translate.c.patch uploaded by seanbright (license 71)
      udptl.c.patch uploaded by seanbright (license 71)
      threadstorage.c.patch uploaded by seanbright (license 71)
      db.c.patch uploaded by seanbright (license 71)
      cdr.c.patch uploaded by moy (license 222)
      pbd_dundi.c.patch uploaded by moy (license 222)
      app_osplookup-rev83558.patch uploaded by moy (license 222)
      res_clioriginate.c.patch uploaded by moy (license 222)


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@85460 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-10-11 19:03:06 +00:00
Tilghman Lesher
56b9568164 Don't reload a configuration file if nothing has changed.
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@79747 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-08-16 21:09:46 +00:00
Tilghman Lesher
20bbd09de3 Mostly cleanup of documentation to substitute the pipe with the comma, but a few other formatting cleanups, too.
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@77808 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-07-31 01:10:47 +00:00
Russell Bryant
f8483a0d04 Do a massive conversion for using the ast_verb() macro
(closes issue #10277, patches by mvanbaak)

Basically, this changes ...

if (option_verbose > 2)
   ast_verbose(VERBOSE_PREFIX_3, "Something\n");

to ...

ast_verb(3, "Something\n");


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@77299 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-07-26 15:49:18 +00:00
Tilghman Lesher
24935c0304 Fix trunk where I broke it earlier (for ast_strftime branch)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@75841 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-07-19 03:37:12 +00:00
Tilghman Lesher
81bc1d7af5 Merge in ast_strftime branch, which changes timestamps to be accurate to the microsecond, instead of only to the second
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@75706 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-07-18 19:47:20 +00:00
Joshua Colp
b8cd949cce Applications no longer need to call ast_module_user_add and ast_module_user_remove. This is now taken care of in the pbx_exec function outside of the application.
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@75200 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-07-16 14:39:29 +00:00
Joshua Colp
96a646734f It is no longer required for each module that deals with a channel to call ast_module_user_hangup_all in it's unload function. The loader will automatically perform this action for it.
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@75183 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-07-16 13:35:20 +00:00
Russell Bryant
80166c6de8 Conversions to ast_debug()
(issue #9984, patches from eliel and dimas)


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@71338 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-06-24 18:51:41 +00:00
Steve Murphy
866bbaa515 Via bug9228, no way to create macros via AEL, and some of the apps allow you to call macros..., I modded the apps that allow macro calls to allow gosubs calls also, to make them AEL compliant.
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@70161 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-06-19 23:36:34 +00:00
Tilghman Lesher
30600f053f Janitor for ast_localtime
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@69745 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-06-18 17:48:56 +00:00
Russell Bryant
055d82cbce Add a massive set of changes for converting to use the ast_debug() macro.
(issue #9957, patches from mvanbaak, caio1982, critch, and dimas)


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@69327 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-06-14 19:39:12 +00:00
Tilghman Lesher
9d05ff8ed5 Issue 9869 - replace malloc and memset with ast_calloc, and other coding guidelines changes
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@67864 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-06-06 21:20:11 +00:00
Russell Bryant
4b3a3fb14c Add a new API call for creating detached threads. Then, go replace all of the
places in the code where the same block of code for creating detached threads
was replicated.  (patch from bbryant)


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@65968 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-05-24 18:30:19 +00:00
Russell Bryant
782cd26efa Remove duplicate calls to pthread_attr_destroy() that I put in yesterday
by accident.


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@53061 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-02-01 14:43:44 +00:00
Russell Bryant
b233892198 Merged revisions 53046 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

................
r53046 | russell | 2007-01-31 15:32:08 -0600 (Wed, 31 Jan 2007) | 11 lines

Merged revisions 53045 via svnmerge from 
https://origsvn.digium.com/svn/asterisk/branches/1.2

........
r53045 | russell | 2007-01-31 15:25:11 -0600 (Wed, 31 Jan 2007) | 3 lines

Fix a bunch of places where pthread_attr_init() was called, but
pthread_attr_destroy() was not.

........

................


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@53047 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-01-31 21:35:15 +00:00
Luigi Rizzo
dc31eaa025 include "asterisk/zapata.h" instead of looking
directly for the zaptel.h and tonezone.h



git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@51292 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-01-19 16:16:19 +00:00
Russell Bryant
0ca6a42d7e fix various spelling mistakes in comments (issue #8237, jmls)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@46339 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-10-26 17:52:15 +00:00
Tilghman Lesher
b0b4ad4973 More whitespace fixes
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@44831 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-10-10 20:52:50 +00:00
Tilghman Lesher
13ece8cc39 Massive cleanup of the rpt code, updating to current coding guidelines
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@44595 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-10-06 17:27:30 +00:00
Joshua Colp
29d27bfe0d Merged revisions 43933 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r43933 | file | 2006-09-28 14:05:43 -0400 (Thu, 28 Sep 2006) | 2 lines

Put in missing \ns on the end of ast_logs (issue #7936 reported by wojtekka)

........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@43934 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-09-28 18:09:01 +00:00
Tilghman Lesher
821022dd35 Merged revisions 43441 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r43441 | tilghman | 2006-09-21 14:43:32 -0500 (Thu, 21 Sep 2006) | 2 lines

Oops, missed the merge breakage

........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@43442 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-09-21 19:48:35 +00:00
Tilghman Lesher
012e0f82d5 Merged revisions 43422 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

................
r43422 | tilghman | 2006-09-21 12:04:40 -0500 (Thu, 21 Sep 2006) | 10 lines

Merged revisions 43420 via svnmerge from 
https://origsvn.digium.com/svn/asterisk/branches/1.2

........
r43420 | tilghman | 2006-09-21 12:01:48 -0500 (Thu, 21 Sep 2006) | 2 lines

Whitespace change... really just an excuse to test repotools

........

................


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@43423 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-09-21 17:06:43 +00:00
Tilghman Lesher
70af28270d Constify the result of a config retrieval function, to avoid mutilation (issue 7983).
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@43364 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-09-20 20:40:39 +00:00
Kevin P. Fleming
fcb999c01c merge qwell's CLI verbification work
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@43212 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-09-18 19:54:18 +00:00
Matt O'Gorman
05a695af72 everything that loads a config that needs a config file to run
now reports AST_MODULE_LOAD_DECLINE when loading if config file
is not there, also fixed an error in res_config_pgsql where it 
had a non static function when it should.


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@41633 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-08-31 21:00:20 +00:00
Kevin P. Fleming
0a27d8bfe5 merge new_loader_completion branch, including (at least):
- restructured build tree and makefiles to eliminate recursion problems
  - support for embedded modules
  - support for static builds
  - simpler cross-compilation support
  - simpler module/loader interface (no exported symbols)



git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@40722 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-08-21 02:11:39 +00:00
Russell Bryant
ca9ba719b6 Merge a new implementation of ast_inet_ntoa, our thread safe replacement for
inet_ntoa, which uses thread specific data (aka thread local storage) instead
of stack allocatted buffers to store the result.


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@38042 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-07-21 17:31:28 +00:00
Kevin P. Fleming
f761d2f6f0 prepare Asterisk for new zaptel.h/tonezone.h installation locations
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@37027 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-07-05 16:44:41 +00:00
Kevin P. Fleming
e61d3d91f3 The Eurostar Commit! (it's amazing how much work you can get done on a 150 minute train ride from Paris to London <G>)
support the new location for zaptel.h and tonezone.h
use the dependency information output by menuselect to build Makefile rules for each module for header files and libraries
combine the common rules into a top-level Makefile.rules file
remove all (now) unnecessary stuff from subdir Makefiles
change translator API so that the newpvt() callback returns an int instead of a pointer (it no longer allocates memory)
alphabetize --with-<foo> options in configure script
enhance Net-SNMP support in configure script to provide a --with-netsnmp option
fix support for --with-pq so that if pg-config is not found when --with-pq is specified, an error will be generated
add 'optional package' usage to modules now that menuselect can output it
allow res_snmp to build by default, since the new loader changes coming soon will solve the function naming problem (and users can disable it via menuselect anyway)


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@35832 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-06-24 19:43:31 +00:00
Kevin P. Fleming
df0ba5ff8b search for Zaptel and libtonezone separately in the configure script
various other minor fixes


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@35812 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-06-24 08:45:49 +00:00
Jim Dixon
8f77de5ebd Allowed proper tx/rx signal exclusivity for simplex repeater modes
on 2 wire interfaces


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@33973 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-06-13 23:46:41 +00:00
Jim Dixon
f2af2718a6 Added incoming audio notch filtering, plus a bunch of command improvements, etc.
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@29935 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-05-24 07:01:02 +00:00
Kevin P. Fleming
574e14cbea Thanks to the fine work of Russell Bryant and Dancho Lazarov, we now have autoconf and menuselect tools for Asterisk!
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@22267 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-04-24 17:11:45 +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
cf15740eaf remove support for BYEXTENSION (which nobody even knows about anymore)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@18977 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-04-10 23:01:22 +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
Jim Dixon
44d1382a05 Removed "frog" command (so it could be moved to cli.c)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@16869 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-04-01 12:56:50 +00:00
Luigi Rizzo
606c7dcb93 remove the long since unused STANDARD_LOCAL_USERS macro
so that new apps will not try to use it by mistake.



git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@15517 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-03-28 13:52:04 +00:00
Russell Bryant
9063466dfb update to reflect conversion of the accountcode to use stringfields (issue #6722)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@12961 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-03-14 19:09:13 +00:00
Jim Dixon
60c5b80818 Fixed nasty lockup bug and added command macros (not to be confused with
macro-oni).


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@11146 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-02-26 05:11:34 +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
BJ Weschke
8637b23569 More memory wrapper and cleanup work. #6226 w/one very minor compile fix mod in app_rpt.c
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@8044 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-01-13 03:25:23 +00:00
BJ Weschke
aaa4c9aecc More new memory wrapper work.
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@8012 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-01-12 16:08:06 +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
Jim Dixon
13e757450d New version, including half/semi-half duplex modes and system announcements
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@7566 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-12-20 23:41:59 +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