aboutsummaryrefslogtreecommitdiffstats
path: root/asterisk.c
AgeCommit message (Collapse)AuthorFilesLines
2006-08-21merge new_loader_completion branch, including (at least):kpfleming1-2724/+0
- 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: http://svn.digium.com/svn/asterisk/trunk@40722 f38db490-d61c-443f-a65b-d21fe96a405b
2006-08-08Merge team/russell/ast_verbose_threadstoragerussell1-49/+28
- 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: http://svn.digium.com/svn/asterisk/trunk@39272 f38db490-d61c-443f-a65b-d21fe96a405b
2006-07-28As discussed and decided on the asterisk-dev mailing list ...russell1-1/+1
- Fix some breakage I introduced a while ago that made the timestamps option not functional for CLI verbose output. - Remove the use of the timestamps option for log output, since it was not functional. - clarify text referring to the timestamps option so that it is clear that it only applies to CLI verbose output git-svn-id: http://svn.digium.com/svn/asterisk/trunk@38439 f38db490-d61c-443f-a65b-d21fe96a405b
2006-07-12Merged revisions 37419 via svnmerge from kpfleming1-37/+25
https://origsvn.digium.com/svn/asterisk/branches/1.2 ........ r37419 | kpfleming | 2006-07-12 08:54:10 -0500 (Wed, 12 Jul 2006) | 2 lines remove some more bad examples of using printf ........ git-svn-id: http://svn.digium.com/svn/asterisk/trunk@37433 f38db490-d61c-443f-a65b-d21fe96a405b
2006-07-03Blocked revisions 36751 via svnmergerussell1-1/+2
........ r36751 | russell | 2006-07-03 01:12:03 -0400 (Mon, 03 Jul 2006) | 3 lines fix a race condition that caused asterisk to log a *ton* of warnings on mac osx about poll returning an error because the polled file descriptor was bad. ........ git-svn-id: http://svn.digium.com/svn/asterisk/trunk@36752 f38db490-d61c-443f-a65b-d21fe96a405b
2006-06-13Merged revisions 33753 via svnmerge from russell1-10/+5
https://origsvn.digium.com/svn/asterisk/branches/1.2 ........ r33753 | russell | 2006-06-12 23:55:11 -0400 (Mon, 12 Jun 2006) | 5 lines revert a change that caused more problems than it fixed and fix the real problem in this code. fds was declared as an array of zero size which caused some weird problems, some of which would only be seen when compiling without optimizations. (fixes issues #7071, #7326, and #7305) ........ git-svn-id: http://svn.digium.com/svn/asterisk/trunk@33754 f38db490-d61c-443f-a65b-d21fe96a405b
2006-06-09there is no reason to define our own 'maximum path length' when the POSIX ↵kpfleming1-20/+20
headers already define one for us git-svn-id: http://svn.digium.com/svn/asterisk/trunk@33351 f38db490-d61c-443f-a65b-d21fe96a405b
2006-06-09various minor portability fixes (mostly from tholo for OpenBSD)kpfleming1-1/+1
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@33350 f38db490-d61c-443f-a65b-d21fe96a405b
2006-06-08Doxygen updatesoej1-13/+13
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@33066 f38db490-d61c-443f-a65b-d21fe96a405b
2006-06-07simplify autoconfig include mechanism (make tholo happy he can use lint ↵kpfleming1-6/+5
again :-) git-svn-id: http://svn.digium.com/svn/asterisk/trunk@32846 f38db490-d61c-443f-a65b-d21fe96a405b
2006-05-30move processing of 'languageprefix' option to proper section of config filekpfleming1-11/+8
document that option :-) git-svn-id: http://svn.digium.com/svn/asterisk/trunk@30934 f38db490-d61c-443f-a65b-d21fe96a405b
2006-05-29remove unused includerizzo1-1/+0
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@30701 f38db490-d61c-443f-a65b-d21fe96a405b
2006-05-26Fix various problems in the addition of the ability to mute log/verboserussell1-12/+10
output to remove consoles. The prototypes added to logger.h still need doxygen documentation, as well. - Add the new command line option to the man page - make the mute option a flag instead of an int since it is only a binary option - remove useless extern keywords for prototypes added to logger.h - rename ast_console_mute() to ast_console_toggle_mute() since that is what it actually does - actually apply the mute option to newly created remote consoles instead of only working when the CLI command is used - don't imply the NO_FORK option if the mute command line option is provided - place the new CLI command in the correct place in the list which has to be in alphabetical order - Finally, clean up a few spacing issues to conform to the coding guidelines git-svn-id: http://svn.digium.com/svn/asterisk/trunk@30630 f38db490-d61c-443f-a65b-d21fe96a405b
2006-05-26Add ability to disable log / verbose output to remote consoles (issue #6524 ↵file1-4/+61
reported by mavetju) git-svn-id: http://svn.digium.com/svn/asterisk/trunk@30603 f38db490-d61c-443f-a65b-d21fe96a405b
2006-05-25Add the ability to retrieve the exit code of the forked AGI process. If thererussell1-17/+29
is an error executing the AGI script, or the AGI script itself returns a non-zero value, the AGISTATUS variable will now be set to FAILURE instead of SUCCESS. git-svn-id: http://svn.digium.com/svn/asterisk/trunk@30328 f38db490-d61c-443f-a65b-d21fe96a405b
2006-05-19Merged revisions 28754 via svnmerge from russell1-1/+5
https://origsvn.digium.com/svn/asterisk/branches/1.2 ........ r28754 | russell | 2006-05-19 15:01:17 -0400 (Fri, 19 May 2006) | 6 lines This explicit poll is only needed on mac. In fact, it breaks some systems such as some versions of Fedora, causing 'asterisk -rx' to never exit. This has been tested on systems showing the asterisk -rx problem, as well as other unaffected versions of linux, mac osx 10.4, and FreeBSD 6. (issue #7071) ........ git-svn-id: http://svn.digium.com/svn/asterisk/trunk@28771 f38db490-d61c-443f-a65b-d21fe96a405b
2006-05-11- Use systemname for realm in sip, if we have no configuration for realmoej1-0/+3
- Optionally send systemname in manager (cool when you have a manager proxy) - Use systemname in CLI prompt git-svn-id: http://svn.digium.com/svn/asterisk/trunk@26884 f38db490-d61c-443f-a65b-d21fe96a405b
2006-05-08 use pid_t instead of long for pid variables. #7099 (casper)bweschke1-6/+6
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@25488 f38db490-d61c-443f-a65b-d21fe96a405b
2006-05-07Merged revisions 25288 via svnmerge from bweschke1-0/+1
https://origsvn.digium.com/svn/asterisk/branches/1.2 ........ r25288 | bweschke | 2006-05-07 08:48:09 -0400 (Sun, 07 May 2006) | 3 lines Reset the value of ast_mainpid if we fork so future remote unix connections display the correct PID. #7098 (tzafrir reporting) ........ git-svn-id: http://svn.digium.com/svn/asterisk/trunk@25289 f38db490-d61c-443f-a65b-d21fe96a405b
2006-05-01Merged revisions 24019 via svnmerge from tilghman1-0/+2
https://origsvn.digium.com/svn/asterisk/branches/1.2 ........ r24019 | tilghman | 2006-05-01 15:44:24 -0500 (Mon, 01 May 2006) | 2 lines Bug 6864 - drop realtime priority on ALL external processes ........ git-svn-id: http://svn.digium.com/svn/asterisk/trunk@24053 f38db490-d61c-443f-a65b-d21fe96a405b
2006-04-30add a command-line flag and option to force forking, even with -v or -dkpfleming1-1/+12
rename a flag to have the proper name git-svn-id: http://svn.digium.com/svn/asterisk/trunk@23675 f38db490-d61c-443f-a65b-d21fe96a405b
2006-04-30remove T38_SUPPORT define that is no longer neededkpfleming1-4/+0
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@23536 f38db490-d61c-443f-a65b-d21fe96a405b
2006-04-29move the "show version" CLI command from cli.c to asterisk.c so that only onerussell1-0/+23
file depends on version.h, and thus, only one file has to be rebuilt when version.h gets regenerated (issue #6942) git-svn-id: http://svn.digium.com/svn/asterisk/trunk@23229 f38db490-d61c-443f-a65b-d21fe96a405b
2006-04-19support 'languageprefix' in asterisk.conf to modify the algorithmrizzo1-0/+4
to build pathnames for language-specific files (see file.c for a description) Default, of course, to the standard behaviour. We don't have an asterisk.conf.sample to put an example of use! git-svn-id: http://svn.digium.com/svn/asterisk/trunk@21451 f38db490-d61c-443f-a65b-d21fe96a405b
2006-04-15Move a bit more stuff over to the datadir (issue #6967 reported by tzafrir ↵file1-1/+1
patch by north) git-svn-id: http://svn.digium.com/svn/asterisk/trunk@20358 f38db490-d61c-443f-a65b-d21fe96a405b
2006-04-15We are shaking up trunk tonight! allow data dir to be specified (issue #6967 ↵file1-0/+4
reported by tzafrir) git-svn-id: http://svn.digium.com/svn/asterisk/trunk@20330 f38db490-d61c-443f-a65b-d21fe96a405b
2006-04-14normalize cli completion coderizzo1-5/+3
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@20166 f38db490-d61c-443f-a65b-d21fe96a405b
2006-04-14This rather large commit changes the way modules are loaded. rizzo1-1/+1
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: http://svn.digium.com/svn/asterisk/trunk@20003 f38db490-d61c-443f-a65b-d21fe96a405b
2006-04-12whoops... remove an extra line.rizzo1-1/+0
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@19545 f38db490-d61c-443f-a65b-d21fe96a405b
2006-04-12add 'show threads' and 'show profile' commands.rizzo1-0/+211
These are momstly debugging tools for developers, a bit documented in the header files (utils.h), although more documentation is definitely necessary. The performance impact is close to zero(*) so there is no need to compile it conditionally. (*) not completely true - thread destruction still needs to search a list _but_ this can be easily optimized if we end up with hundreds of active threads (in which case, though, the problem is clearly elsewhere). git-svn-id: http://svn.digium.com/svn/asterisk/trunk@19544 f38db490-d61c-443f-a65b-d21fe96a405b
2006-04-11Merged revisions 19351 via svnmerge from tilghman1-0/+2
https://origsvn.digium.com/svn/asterisk/branches/1.2 ........ r19351 | tilghman | 2006-04-11 16:55:51 -0500 (Tue, 11 Apr 2006) | 2 lines Bug 6097 - possible descriptor leak ........ git-svn-id: http://svn.digium.com/svn/asterisk/trunk@19352 f38db490-d61c-443f-a65b-d21fe96a405b
2006-03-31Issue 5852 (casper) Code clean up, adding documentation on new switches. Thanks!oej1-132/+126
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@16616 f38db490-d61c-443f-a65b-d21fe96a405b
2006-03-30Merged revisions 16579 via svnmerge from tilghman1-1/+1
https://origsvn.digium.com/svn/asterisk/branches/1.2 ........ r16579 | tilghman | 2006-03-30 16:46:06 -0600 (Thu, 30 Mar 2006) | 2 lines Bug 6849 - trivial typo fix ........ git-svn-id: http://svn.digium.com/svn/asterisk/trunk@16580 f38db490-d61c-443f-a65b-d21fe96a405b
2006-03-30convert internal timing to be stored as a flag in the ast_options flagsrussell1-5/+2
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@16477 f38db490-d61c-443f-a65b-d21fe96a405b
2006-03-30Issue #5374 - Enable internal timing of generators (cmantunes)oej1-1/+11
Thanks everyone involved for hard work, testing and testing! git-svn-id: http://svn.digium.com/svn/asterisk/trunk@16473 f38db490-d61c-443f-a65b-d21fe96a405b
2006-03-28bring in the code that was discussed on Mantis #6068,rizzo1-0/+1
which is the basis for several simplifications and fixes to the CLI interfaces. The core is in cli.c, some documentation on a new function to help command completion is in cli.h, and one line of glue code in the other two files. Next step is to bring in the patches described in #6066 and other simplifications. git-svn-id: http://svn.digium.com/svn/asterisk/trunk@15817 f38db490-d61c-443f-a65b-d21fe96a405b
2006-03-25Add micro-http server and abstract manager interface, make snmp not die markster1-1/+4
on reload. git-svn-id: http://svn.digium.com/svn/asterisk/trunk@14953 f38db490-d61c-443f-a65b-d21fe96a405b
2006-03-25revert loader changes that have clearly not undergone adequate testing ↵kpfleming1-3/+3
before commit git-svn-id: http://svn.digium.com/svn/asterisk/trunk@14952 f38db490-d61c-443f-a65b-d21fe96a405b
2006-03-14clarify which global options are enabled by defaultrussell1-1/+1
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@12897 f38db490-d61c-443f-a65b-d21fe96a405b
2006-03-02Merged revisions 11609 via svnmerge from tilghman1-5/+8
https://origsvn.digium.com/svn/asterisk/branches/1.2 ........ r11609 | tilghman | 2006-03-02 16:26:30 -0600 (Thu, 02 Mar 2006) | 2 lines Bug 6637 - Fixes for Solaris ........ git-svn-id: http://svn.digium.com/svn/asterisk/trunk@11610 f38db490-d61c-443f-a65b-d21fe96a405b
2006-02-28Merged revisions 11408 via svnmerge from russell1-1/+2
https://origsvn.digium.com/svn/asterisk/branches/1.2 ........ r11408 | russell | 2006-02-28 14:31:10 -0500 (Tue, 28 Feb 2006) | 2 lines adjust the keys directory when astvarlibdir is specified in asterisk.conf (issue #6602) ........ git-svn-id: http://svn.digium.com/svn/asterisk/trunk@11409 f38db490-d61c-443f-a65b-d21fe96a405b
2006-02-14add 'systemname' option to prefix channel unique IDs with (issue #5825)kpfleming1-0/+3
convert chan->uniqueid to a stringfield from a fixed-size buffer git-svn-id: http://svn.digium.com/svn/asterisk/trunk@10088 f38db490-d61c-443f-a65b-d21fe96a405b
2006-02-14more memory allocation wrapper conversion (issue #6365)kpfleming1-20/+20
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@10066 f38db490-d61c-443f-a65b-d21fe96a405b
2006-02-14#ifdef the include too.bweschke1-1/+4
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@9963 f38db490-d61c-443f-a65b-d21fe96a405b
2006-02-14 #ifdef'd the prctl fix to only try and compile on linux systems. Thanks ↵bweschke1-0/+2
rizzo for pointing this out, and credit to Armin for identifying a solution to the original problem. git-svn-id: http://svn.digium.com/svn/asterisk/trunk@9962 f38db490-d61c-443f-a65b-d21fe96a405b
2006-02-14 Make sure that PR_SET_DUMPABLE is set to make certain that we still dump ↵bweschke1-0/+7
core if Asterisk has setuid'd to run as non-root git-svn-id: http://svn.digium.com/svn/asterisk/trunk@9844 f38db490-d61c-443f-a65b-d21fe96a405b
2006-01-24store the list of 'atexit' functions using linked list macros (issue #6329)russell1-24/+16
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@8572 f38db490-d61c-443f-a65b-d21fe96a405b
2006-01-18constify arguments in more places where strings should not be modified ↵russell1-1/+1
(issue #6286) git-svn-id: http://svn.digium.com/svn/asterisk/trunk@8203 f38db490-d61c-443f-a65b-d21fe96a405b
2006-01-17Merged revisions 8122 via svnmerge from kpfleming1-1/+1
https://origsvn.digium.com/svn/asterisk/branches/1.2 ........ r8122 | kpfleming | 2006-01-17 07:11:55 -0600 (Tue, 17 Jan 2006) | 2 lines update CLI copyright notice ........ git-svn-id: http://svn.digium.com/svn/asterisk/trunk@8123 f38db490-d61c-443f-a65b-d21fe96a405b
2006-01-16check rlimit _after_ reading config file, so that if 'dumpcore' is specified ↵kpfleming1-4/+4
there it will take effect git-svn-id: http://svn.digium.com/svn/asterisk/trunk@8114 f38db490-d61c-443f-a65b-d21fe96a405b