Commit Graph

88 Commits (6d5290a85b51a6409c7f94bc09c7b110a9cf137c)

Author SHA1 Message Date
Steve Murphy 6138b16995 Introducing various astobj2 enhancements, chief being a refcount tracing feature, and various documentation updates in astobj2.h, and the addition of standalone utility, refcounter, that will filter the trace output for unbalanced, unfreed objects. This comes from the team/murf/bug11210 branch.
17 years ago
Mark Michelson 115d5024a1 Merged revisions 114051 via svnmerge from
17 years ago
Kevin P. Fleming 79c3038ee5 Merged revisions 107352 via svnmerge from
17 years ago
Steve Murphy 377e51c4d4 (closes issue #6002)
17 years ago
Tilghman Lesher 53436f42f4 Add a canary process, for high priority mode (asterisk -p) to ensure that if
18 years ago
Luigi Rizzo 9e4ebbee87 remove relative paths and use ASTTOPDIR instead.
18 years ago
Luigi Rizzo 15d5e144b1 add hashtab.c to the list of files deleted
18 years ago
Luigi Rizzo d652be0930 normalize subdirs' Makefile by using ASTTOPDIR and not .. to reference
18 years ago
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.
18 years ago
Luigi Rizzo 6dfc36b639 enable support for stack backtrace for stuff built in utils/
18 years ago
Luigi Rizzo 7cd78079ae more cygwin/mingw32 compatibility fixes
18 years ago
Kevin P. Fleming c7773aa206 (closes issue #11221)
18 years ago
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.
18 years ago
Luigi Rizzo 1c55f8424e Move AUDIO_LIBS outside the top level Makefile. This too is used only
18 years ago
Russell Bryant cac97aa8b4 Remove another copied source file on "make clean".
18 years ago
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
18 years ago
Kevin P. Fleming a4b8ca220d clean up assembler and preprocessor files if they are here too
18 years ago
Russell Bryant 437b439c61 Add some files to the utils directory svn:ignore and Makefile clean target
18 years ago
Tilghman Lesher 1b949d24c0 Fix build of check_expr and hashtest2 when DEBUG_THREADLOCAL is defined
18 years ago
Steve Murphy c88e216a14 This solves an unreported solaris compile problem (missing -lnsl -lsocket).
18 years ago
Steve Murphy 26d739ff5b fixing up the pthread stuff for hashtest2
18 years ago
Joshua Colp 56a31d1d20 Include string compatibility file in hashtest2.
18 years ago
Steve Murphy c4133cc03f Committing my test for astobj2, hashtest2.c, along with makefile changes in utils.
18 years ago
Joshua Colp ab2c114cd7 (closes issue #10496)
18 years ago
Tilghman Lesher 488f6973cd Add strcompat dependency for check_expr (needed for platforms that don't have strndup)
18 years ago
Steve Murphy 9836efb5fb This commit closes bug 7605, and half-closes 7638. The AEL code has been redistributed/repartitioned to allow code re-use both inside and outside of Asterisk. This commit introduces the utils/conf2ael program, and an external config-file reader, for both normal config files, and for extensions.conf (context, exten, prio); It provides an API for programs outside of asterisk to use to play with the dialplan and config files.
18 years ago
Steve Murphy 52efde5c65 Merged revisions 67526 via svnmerge from
18 years ago
Steve Murphy 1613b4e58e Merged revisions 59145 via svnmerge from
18 years ago
Steve Murphy bf0fbdd09b Merged revisions 52052 via svnmerge from
19 years ago
Kevin P. Fleming 89c41e2403 Merged revisions 48525 via svnmerge from
19 years ago
Joshua Colp 6948019465 Merged revisions 46377 via svnmerge from
19 years ago
Kevin P. Fleming cd0457d14e Merged revisions 44436 via svnmerge from
19 years ago
Luigi Rizzo d16122c826 correct libraries for astman, at least so i think...
19 years ago
Kevin P. Fleming e92c34cc38 Merged revisions 44055 via svnmerge from
19 years ago
Kevin P. Fleming 89050169c8 Merged revisions 43996-43997,44008,44011-44012 via svnmerge from
19 years ago
Jason Parker 8699205857 be a little more consistent with our variable usage
19 years ago
Jason Parker 9177d1143b Change the includes to work on FreeBSD
19 years ago
Jason Parker f18cbf77df Many Solaris fixes - this moves some of the stuff from utils.c to strcompat.c
19 years ago
Kevin P. Fleming be29512d1e more makefile tweaks to keep targets from being run when they don't need to be
19 years ago
Kevin P. Fleming d12f54f90b GNU make already knows how to quietly ignore non-existent files in 'include' directives
19 years ago
Steve Murphy 51132bbdbf Changes to fix all problems reported in 7804 are included here.
19 years ago
Kevin P. Fleming 53b1c97c9a build muted by default, since there is no Makefile target for it anymore
19 years ago
Kevin P. Fleming 0a27d8bfe5 merge new_loader_completion branch, including (at least):
19 years ago
Kevin P. Fleming 396ef6f9e7 use LDFLAGS and LIBS properly, and allow dependencies to provide LDFLAGS if needed (although none do today)
19 years ago
Kevin P. Fleming 4f826452cf make the build output less noisy (optional, can be controlled by the NOISY_BUILD variable in the top-level Makefile)
19 years ago
Russell Bryant 48ae9f0d4f - convert the 'uninstall' target to use separate targets to process each
19 years ago
Russell Bryant 55e8a60363 - specify that 'depend' is a .PHONY target
19 years ago
Russell Bryant 9db0520ff9 - specify that 'all' is a .PHONY target
19 years ago
Russell Bryant c399a06450 add the 'clean', 'clean-depend', and 'dist-clean' targets as .PHONY targets
19 years ago
Kevin P. Fleming 241cd6163a minor fix
19 years ago