Age | Commit message (Collapse) | Author | Files | Lines |
|
(closes issue #11484)
Reported by: snuffy
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@92206 f38db490-d61c-443f-a65b-d21fe96a405b
|
|
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: http://svn.digium.com/svn/asterisk/trunk@92104 f38db490-d61c-443f-a65b-d21fe96a405b
|
|
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@92103 f38db490-d61c-443f-a65b-d21fe96a405b
|
|
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@92042 f38db490-d61c-443f-a65b-d21fe96a405b
|
|
the top level directory.
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@92022 f38db490-d61c-443f-a65b-d21fe96a405b
|
|
to clean up this file.
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@91930 f38db490-d61c-443f-a65b-d21fe96a405b
|
|
needs to first include asterisk.h.
(closes issue #11394)
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@91029 f38db490-d61c-443f-a65b-d21fe96a405b
|
|
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: http://svn.digium.com/svn/asterisk/trunk@90150 f38db490-d61c-443f-a65b-d21fe96a405b
|
|
MTX_PROFILE world.
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@89595 f38db490-d61c-443f-a65b-d21fe96a405b
|
|
(this was present in the main tree but forgotten here).
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@89506 f38db490-d61c-443f-a65b-d21fe96a405b
|
|
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: http://svn.digium.com/svn/asterisk/trunk@89482 f38db490-d61c-443f-a65b-d21fe96a405b
|
|
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@89473 f38db490-d61c-443f-a65b-d21fe96a405b
|
|
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: http://svn.digium.com/svn/asterisk/trunk@89426 f38db490-d61c-443f-a65b-d21fe96a405b
|
|
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@89373 f38db490-d61c-443f-a65b-d21fe96a405b
|
|
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: http://svn.digium.com/svn/asterisk/trunk@89368 f38db490-d61c-443f-a65b-d21fe96a405b
|
|
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@89349 f38db490-d61c-443f-a65b-d21fe96a405b
|
|
but make sure that asterisk/compiler.h is included everywhere
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@89336 f38db490-d61c-443f-a65b-d21fe96a405b
|
|
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: http://svn.digium.com/svn/asterisk/trunk@89333 f38db490-d61c-443f-a65b-d21fe96a405b
|
|
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@89201 f38db490-d61c-443f-a65b-d21fe96a405b
|
|
Reported by: eliel
Patches:
utils.Makefile.patch uploaded by eliel (modified by me) (license 64)
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@89190 f38db490-d61c-443f-a65b-d21fe96a405b
|
|
(closes issue #11218)
Reported by: ys
Patches:
trunk89169.diff uploaded by ys (license 281)
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@89177 f38db490-d61c-443f-a65b-d21fe96a405b
|
|
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: http://svn.digium.com/svn/asterisk/trunk@89129 f38db490-d61c-443f-a65b-d21fe96a405b
|
|
- 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: http://svn.digium.com/svn/asterisk/trunk@89106 f38db490-d61c-443f-a65b-d21fe96a405b
|
|
in one place.
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@88770 f38db490-d61c-443f-a65b-d21fe96a405b
|
|
Reported by: mnicholson
Patch by: mnicholson
Closes issue #11140
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@88250 f38db490-d61c-443f-a65b-d21fe96a405b
|
|
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: http://svn.digium.com/svn/asterisk/trunk@88166 f38db490-d61c-443f-a65b-d21fe96a405b
|
|
(closes issue #11137)
Reported by: IgorG
Patches:
addonclean-87971-1.patch uploaded by IgorG (license 20)
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@88062 f38db490-d61c-443f-a65b-d21fe96a405b
|
|
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: http://svn.digium.com/svn/asterisk/trunk@87498 f38db490-d61c-443f-a65b-d21fe96a405b
|
|
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@87467 f38db490-d61c-443f-a65b-d21fe96a405b
|
|
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: http://svn.digium.com/svn/asterisk/trunk@87187 f38db490-d61c-443f-a65b-d21fe96a405b
|
|
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@86182 f38db490-d61c-443f-a65b-d21fe96a405b
|
|
debugs turned on
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@86181 f38db490-d61c-443f-a65b-d21fe96a405b
|
|
debugs turned on
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@86180 f38db490-d61c-443f-a65b-d21fe96a405b
|
|
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@85140 f38db490-d61c-443f-a65b-d21fe96a405b
|
|
(closes issue #10898)
Reported by: snuffy
Patches:
10898-mtx_prof.diff uploaded by qwell (license 4)
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@85025 f38db490-d61c-443f-a65b-d21fe96a405b
|
|
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@84331 f38db490-d61c-443f-a65b-d21fe96a405b
|
|
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@84330 f38db490-d61c-443f-a65b-d21fe96a405b
|
|
situations. At least, it does for me. And it's less expensive than several other approaches I tried.
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@84329 f38db490-d61c-443f-a65b-d21fe96a405b
|
|
(closes issue #10808, reported by mvanbaak)
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@83741 f38db490-d61c-443f-a65b-d21fe96a405b
|
|
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@83545 f38db490-d61c-443f-a65b-d21fe96a405b
|
|
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: http://svn.digium.com/svn/asterisk/trunk@83433 f38db490-d61c-443f-a65b-d21fe96a405b
|
|
ao2_callback() is a much more efficient way of performing an operation on every
item in the container. This change makes hashtest2 run in about 25% of the
time it ran before on my system.
In general, I would say that it makes the most sense to use an ao2_iterator if
the operation being performed is going to take a long time and you don't want
to keep the container locked while you work with each object. Otherwise,
the use of ao2_callback is preferred.
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@82282 f38db490-d61c-443f-a65b-d21fe96a405b
|
|
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@82268 f38db490-d61c-443f-a65b-d21fe96a405b
|
|
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@82256 f38db490-d61c-443f-a65b-d21fe96a405b
|
|
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@82235 f38db490-d61c-443f-a65b-d21fe96a405b
|
|
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@82234 f38db490-d61c-443f-a65b-d21fe96a405b
|
|
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@82233 f38db490-d61c-443f-a65b-d21fe96a405b
|
|
utils.
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@82140 f38db490-d61c-443f-a65b-d21fe96a405b
|
|
didn't add it to 1.4 yet, because it's not entirely clear to me if this is a bug fix or an enhancement. A lot of files were affected by small changes like ast_variable_new getting an added arg, for the file name the var was defined in; ast_category_new gets added args of filename and lineno; ast_category and ast_variable structures now record file and lineno for each entry; a list of all #include and #execs in a config file (or any of its inclusions are now kept in the ast_config struct; at save time, each entry is put back into its proper file of origin, in order. #include and #exec directives are folded in properly. Headers indicating that the file was generated, are generated also for each included file. Some changes to main/manager.c to take care of file renaming, via the UpdateConfig command. Multiple inclusions of the same file are handled by exploding these into multiple include files, uniquely named. There's probably more, but I can't remember it right now.
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@81361 f38db490-d61c-443f-a65b-d21fe96a405b
|
|
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@80748 f38db490-d61c-443f-a65b-d21fe96a405b
|