Tilghman Lesher
a8e821d061
Ignore some more unused generated events.
...
(closes issue #12042 )
Reported by: junky
Patches:
astman_events.diff uploaded by junky (license 177)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@104014 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-02-21 05:21:39 +00:00
Tilghman Lesher
32a758d944
Remove extraneous copy
...
(closes issue #12002 )
Reported by: junky
Patches:
conf2ael.diff uploaded by junky (license 177)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@103716 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-02-15 15:45:33 +00:00
Tilghman Lesher
1dc86caf30
Merged revisions 102323 via svnmerge from
...
https://origsvn.digium.com/svn/asterisk/branches/1.4
........
r102323 | tilghman | 2008-02-04 15:06:09 -0600 (Mon, 04 Feb 2008) | 7 lines
Cross-platform fix: OS X now deprecates the use of the daemon(3) API.
(closes issue #11908 )
Reported by: oej
Patches:
20080204__bug11908.diff.txt uploaded by Corydon76 (license 14)
Tested by: Corydon76
........
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@102329 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-02-04 21:15:18 +00:00
Steve Murphy
71ad27409c
The fixes in this commit are mainly to allow compiling of trunk with --enable-dev-mode, mutex profiling, lock debugging, etc. Mainly, the version.c needs to be in the OBJS line; asterisk.h was chosen to have the prototypes for ast_get_version, ast_get_version_num; and the ASTERISK_FILE_VERSION macro needs to be used after including asterisk.h in a few files. I hope I did the right thing. If not, let me know.
...
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@97656 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-01-10 00:50:39 +00:00
Joshua Colp
9c0c82d0d0
Make ast_atomic_fetchadd_int_slow magically appear in extconf.
...
(closes issue #11703 )
Reported by: dmartin
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@97041 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-01-08 15:26:50 +00:00
Luigi Rizzo
5e24835995
modify http://svn.digium.com/view/asterisk?view=rev&rev=93603
...
so that paths and filename are writable by asterisk.c without
causing segfaults.
This involves defining the variables as const char *,
and having them point to as static, writable buffer
defined in asterisk.c
On passing, fix some errors in using these variables
in some files in utils/ , and in res/snmp/agent.c
which was redefining a variable without using paths.h
(not applicable to 1.4)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@94168 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-12-20 09:55:05 +00:00
Tilghman Lesher
53436f42f4
Add a canary process, for high priority mode (asterisk -p) to ensure that if
...
Asterisk goes into a busy loop, the machine will be recoverable. We'd still
need to do a restart to put Asterisk back into high priority mode, but at
least a reboot won't be required. (Closes issue #11559 )
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@93804 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-12-18 23:06:05 +00:00
Luigi Rizzo
10f70a8321
make configuration variable const so they are not accidentally
...
modified.
This requires casting the strings in asterisk.c when writing to
them, so we do it through a macro to do it consistently.
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@93603 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-12-18 10:24:58 +00:00
Luigi Rizzo
fd88390af7
remove unnecessary (char *) casts for ast_config_AST_* variables.
...
There are some left in the .flex files, left to the maintainer...
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@93582 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-12-18 09:46:18 +00:00
Joshua Colp
d7125b74c9
Add ast_atomic_fetchadd_int_slow to check_expr for platforms that need it.
...
(closes issue #11484 )
Reported by: snuffy
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@92206 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-12-10 16:48:18 +00:00
Luigi Rizzo
9e4ebbee87
remove relative paths and use ASTTOPDIR instead.
...
Give a default value to ASTTOPDIR if unset so we can at least
do a 'make clean' without too much trouble.
The proper fix, however, is to partition the top level
Makefile in a 'setup' and a 'main' part, in a way that the
'setup' part can be included from subdirs' Makefiles and
allow targets to be built without going through the
top level Makefile.
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@92104 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-12-10 08:40:59 +00:00
Luigi Rizzo
ff8134d30f
simplify this file
...
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@92103 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-12-10 08:35:35 +00:00
Luigi Rizzo
15d5e144b1
add hashtab.c to the list of files deleted
...
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@92042 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-12-09 22:55:58 +00:00
Luigi Rizzo
d652be0930
normalize subdirs' Makefile by using ASTTOPDIR and not .. to reference
...
the top level directory.
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@92022 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-12-09 21:29:37 +00:00
Luigi Rizzo
3fbcdac589
normalize header order, and add a comment on the need
...
to clean up this file.
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@91930 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-12-08 03:27:16 +00:00
Russell Bryant
248dac6e73
Fix the build of astman. Any file that includes any asterisk sub-headers
...
needs to first include asterisk.h.
(closes issue #11394 )
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@91029 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-12-04 23:01:15 +00:00
Kevin P. Fleming
93615ecc22
let's try this again... *all* compilation and linking in Asterisk should be done using the standard compilation rules, not manually created ones. changing hashtest.c to use these rules caused the compiler to notice a large number of coding guidelines violations, so those are fixed too.
...
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@90150 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-11-29 13:38:11 +00:00
Steve Murphy
4c992507f4
closes issue #11341 ; made changes to make utils again right with the MTX_PROFILE world.
...
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@89595 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-11-26 17:46:41 +00:00
Luigi Rizzo
6dfc36b639
enable support for stack backtrace for stuff built in utils/
...
(this was present in the main tree but forgotten here).
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@89506 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-11-21 21:30:24 +00:00
Kevin P. Fleming
3826d15993
move these forward declarations back to asterisk.h where they belong... even though asterisk.h includes compat.h, these declarations have nothing to do with the being platform-compatible and are directly related to being part of Asterisk
...
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@89482 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-11-21 16:07:11 +00:00
Luigi Rizzo
04e1e0069f
more header removal/normalization
...
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@89473 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-11-21 00:23:49 +00:00
Luigi Rizzo
b693c30a66
move the declaration of struct ast_channel ast_frame and ast_module
...
to compat.h so it is always available - hopefully this will let
us reduce the number of inclusions of channel.h and frame.h
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@89426 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-11-19 19:36:32 +00:00
Luigi Rizzo
7cd78079ae
more cygwin/mingw32 compatibility fixes
...
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@89373 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-11-17 10:54:52 +00:00
Luigi Rizzo
91475fd3dc
add a return NULL to a function that is expected to return a value
...
so compilers that don't understand that this code is NOTREACHED
will not complain (the fault is not much on the compiler but on the
declaration of pthread_exit on certain platforms)
s/certain platform/cygwin/ if you are really curious
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@89368 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-11-17 09:54:54 +00:00
Luigi Rizzo
d82a631f9c
more removal of duplicate #include lines
...
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@89349 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-11-17 00:02:33 +00:00
Luigi Rizzo
4afe3b5ba9
remove redundant #include "asterisk/compat.h",
...
but make sure that asterisk/compiler.h is included everywhere
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@89336 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-11-16 21:08:28 +00:00
Luigi Rizzo
fdb7f7ba3d
Start untangling header inclusion in a way that does not affect
...
build times - tested, there is no measureable difference before and
after this commit.
In this change:
use asterisk/compat.h to include a small set of system headers:
inttypes.h, unistd.h, stddef.h, stddint.h, sys/types.h, stdarg.h,
stdlib.h, alloca.h, stdio.h
Where available, the inclusion is conditional on HAVE_FOO_H as determined
by autoconf.
Normally, source files should not include any of the above system headers,
and instead use either "asterisk.h" or "asterisk/compat.h" which does it
better.
For the time being I have left alone second-level directories
(main/db1-ast, etc.).
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@89333 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-11-16 20:04:58 +00:00
Steve Murphy
f033e50a15
Don't forget the ASTERISK_VERSION for the sake of the mtx_prof stuff.
...
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@89201 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-11-12 23:33:55 +00:00
Kevin P. Fleming
c7773aa206
(closes issue #11221 )
...
Reported by: eliel
Patches:
utils.Makefile.patch uploaded by eliel (modified by me) (license 64)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@89190 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-11-12 20:16:13 +00:00
Joshua Colp
098728eb64
Fix building on FreeBSD by including/not including some headers.
...
(closes issue #11218 )
Reported by: ys
Patches:
trunk89169.diff uploaded by ys (license 281)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@89177 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-11-12 13:26:45 +00:00
Steve Murphy
a897556f7f
This is the perhaps the biggest, boldest, most daring change I've ever committed to trunk. Forgive me in advance any disruption this may cause, and please, report any problems via the bugtracker. The upside is that this can speed up large dialplans by 20 times (or more). Context, extension, and priority matching are all fairly constant-time searches. I introduce here my hashtables (hashtabs), and a regression for them. I would have used the ast_obj2 tables, but mine are resizeable, and don't need the object destruction capability. The hashtab stuff is well tested and stable. I introduce a data structure, a trie, for extension pattern matching, in which knowledge of all patterns is accumulated, and all matches can be found via a single traversal of the tree. This is per-context. The trie is formed on the first lookup attempt, and stored in the context for future lookups. Destruction routines are in place for hashtabs and the pattern match trie. You can see the contents of the pattern match trie by using the 'dialplan show' cli command when 'core set debug' has been done to put it in debug mode. The pattern tree traversal only traverses those parts of the tree that are interesting. It uses a scoreboard sort of approach to find the best match. The speed of the traversal is more a function of the length of the pattern than the number of patterns in the tree. The tree also contains the CID matching patterns. See the source code comments for details on how everything works. I believe the approach general enough that any issues that might come up involving fine points in the pattern matching algorithm, can be solved by just tweaking things. We shall see. The current pattern matcher is fairly involved, and replicating every nuance of it is difficult. If you find and report problems, I will try to resolve than as quickly as I can. The trie and hashtabs are added to the existing context and exten structs, and none of the old machinery has been removed for the sake of the multitude of functions that use them. In the future, we can (maybe) weed out the linked lists and save some space.
...
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@89129 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-11-09 16:00:22 +00:00
Kevin P. Fleming
edc78d6023
improve linked-list macros in two ways:
...
- the *_CURRENT macros no longer need the list head pointer argument
- add AST_LIST_MOVE_CURRENT to encapsulate the remove/add operation when moving entries between lists
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@89106 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-11-08 05:28:47 +00:00
Luigi Rizzo
1c55f8424e
Move AUDIO_LIBS outside the top level Makefile. This too is used only
...
in one place.
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@88770 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-11-05 21:36:11 +00:00
Tilghman Lesher
e8c781b215
Add pbx_lua as a method of doing extensions
...
Reported by: mnicholson
Patch by: mnicholson
Closes issue #11140
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@88250 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-11-02 15:36:34 +00:00
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
Russell Bryant
cac97aa8b4
Remove another copied source file on "make clean".
...
(closes issue #11137 )
Reported by: IgorG
Patches:
addonclean-87971-1.patch uploaded by IgorG (license 20)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@88062 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-11-01 15:18:06 +00:00
Kevin P. Fleming
6ab27c871a
UGH... while trying to fix #10995 , I found all kinds of cruft in this Makefile. It should all be gone now, and as a side effect hashtest2 now builds with --enable-dev-mode enabled without a host of errors
...
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@87498 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-10-29 22:44:49 +00:00
Kevin P. Fleming
a4b8ca220d
clean up assembler and preprocessor files if they are here too
...
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@87467 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-10-29 22:24:44 +00:00
Steve Murphy
c9f3efc381
Merged revisions 87168 via svnmerge from
...
https://origsvn.digium.com/svn/asterisk/branches/1.4
........
r87168 | murf | 2007-10-26 10:34:02 -0600 (Fri, 26 Oct 2007) | 1 line
closes issue #11086 where a user complains that references to following contexts report a problem; The problem was REALLy that he was referring to empty contexts, which were being ignored. Reporter stated that empty contexts should be OK. I checked it out against extensions.conf, and sure enough, empty contexts ARE ok. So, I removed the restriction from AEL. This, though, highlighted a problem with multiple contexts of the same name. This should be OK, also. So, I added the extend keyword to AEL, and it can preceed the 'context' keyword (mixed with 'abstract', if nec.). This will turn off the warnings in AEL if the same context name is used 2 or more times. Also, I now call ast_context_find_or_create for contexts now, instead of just ast_context_create; I did this because pbx_config does this. The 'extend' keyword thus becomes a statement of intent. AEL can now duplicate the behavior of pbx_config,
........
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@87187 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-10-26 17:39:39 +00:00
Steve Murphy
a69abc0179
and then, I noticed the clicompat stuff.
...
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@86182 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-10-17 20:06:28 +00:00
Steve Murphy
e5fa15d812
more stub routines to allow linkage in stand-alone environment, with thread debugs turned on
...
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@86181 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-10-17 19:59:49 +00:00
Steve Murphy
65786f15fa
more stub routines to allow linkage in stand-alone environment, with thread debugs turned on
...
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@86180 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-10-17 19:58:20 +00:00
Tilghman Lesher
7adbd6bb16
Remove redundant includes (patch by snuffy) (Closes issue #10922 )
...
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@85140 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-10-09 16:04:41 +00:00
Joshua Colp
648f67d4c8
Fix up tree so that it compiles when MTX Profiling is enabled.
...
(closes issue #10898 )
Reported by: snuffy
Patches:
10898-mtx_prof.diff uploaded by qwell (license 4)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@85025 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-10-08 16:12:21 +00:00
Steve Murphy
0d2ee300e7
OK. THis a DEBUG_THREADS situation.
...
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@84331 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-10-01 23:33:07 +00:00
Steve Murphy
e8c8bb4a14
picky gcc versions... sigh.
...
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@84330 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-10-01 23:26:50 +00:00
Steve Murphy
db26685460
This mod will allow check_expr to compile in the presence of DEBUG_THREAD situations. At least, it does for me. And it's less expensive than several other approaches I tried.
...
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@84329 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-10-01 23:20:20 +00:00
Russell Bryant
437b439c61
Add some files to the utils directory svn:ignore and Makefile clean target
...
(closes issue #10808 , reported by mvanbaak)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@83741 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-09-25 08:09:01 +00:00
Tilghman Lesher
1b949d24c0
Fix build of check_expr and hashtest2 when DEBUG_THREADLOCAL is defined
...
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@83545 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-09-22 14:45:42 +00:00
Russell Bryant
9f64905d4e
Merged revisions 83432 via svnmerge from
...
https://origsvn.digium.com/svn/asterisk/branches/1.4
........
r83432 | russell | 2007-09-21 09:37:20 -0500 (Fri, 21 Sep 2007) | 4 lines
gcc 4.2 has a new set of warnings dealing with cosnt pointers. This set of
changes gets all of Asterisk (minus chan_alsa for now) to compile with gcc 4.2.
(closes issue #10774 , patch from qwell)
........
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@83433 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-09-21 14:40:10 +00:00