Commit Graph

1660 Commits

Author SHA1 Message Date
Brett Bryant 5b8e1963c5 Adds support for changing logger settingss on remote consoles with a
new command "logger set level". 

i.e. "logger set level debug off"

(closes issue #10891)


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@119126 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-05-29 21:30:37 +00:00
Steve Murphy 9107547668 Had to move the ASTERISK_FILE_VERSION decl to just after the include of "asterisk.h"
or you get undefined variable errors when you are compiling under the influence
of MTX_PROFILE



git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@119074 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-05-29 20:26:42 +00:00
Michiel van Baak 4dfea912d0 Make sure the nrfds and nefds are reset to NULL
before we enter manage_parkinglot.
This will get rid of CLI warnings like:
__ast_read: Exception flag set on 'SIP/<NUMBER>-<ID>', but no exception handler

(closes issue #12748)
Reported by: nreinartz
Patches:
      asterisk-multiparking_initialize_filedescr_sets-0.0.1.patch uploaded by nreinartz (license 452)


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@119015 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-05-29 19:10:31 +00:00
Tilghman Lesher 6e5d843a71 Merged revisions 118953 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r118953 | tilghman | 2008-05-29 12:20:16 -0500 (Thu, 29 May 2008) | 3 lines

Add some debugging code that ensures that when we do deadlock avoidance, we
don't lose the information about how a lock was originally acquired.

........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@118955 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-05-29 17:35:19 +00:00
Steve Murphy a2367c07f8 Merged revisions 118858 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r118858 | murf | 2008-05-28 18:25:28 -0600 (Wed, 28 May 2008) | 46 lines

(closes issue #10668)
(closes issue #11721)
(closes issue #12726)
Reported by: arkadia
Tested by: murf

These changes:

1. revert the changes made via bug 10668; 
   I should have known that such changes,
   even tho they made sense at the time,
   seemed like an omission, etc, were actually
   integral to the CDR system via forkCDR.
   It makes sense to me now that forkCDR didn't
   natively end any CDR's, but rather depended
   on natively closing them all at hangup time
   via traversing and closing them all, whether
   locked or not. I still don't completely 
   understand the benefits of setvar and answer
   operating on locked cdrs, but I've seen 
   enough to revert those changes also, and
   stop messing up users who depended on that
   behavior. bug 12726 found reverting the changes
   fixed his changes, and after a long review
   and working on forkCDR, I can see why.
2. Apply the suggested enhancements proposed
   in 10668, but in a completely compatible
   way. ForkCDR will behave exactly as before,
   but now has new options that will allow some
   actions to be taken that will slightly 
   modify the outcome and side-effects of
   forkCDR. Based on conversations I've had 
   with various people, these small tweaks
   will allow some users to get the behavior
   they need. For instance, users executing
   forkCDR in an AGI script will find the
   answer time set, and DISPOSITION set, 
   a situation not covered when the routines
  were first written.
3. A small problem in the cdr serializer
   would output answer and end times even
   when they were not set. This is now 
   fixed.



........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@118880 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-05-29 01:29:09 +00:00
Tilghman Lesher 9af6852e24 Merged revisions 118551 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r118551 | tilghman | 2008-05-27 14:15:27 -0500 (Tue, 27 May 2008) | 6 lines

When showing an error message for a command, don't shorten the command output,
as it tends to confuse the user (it's fine for suggesting other commands,
however).
 Reported by: seanbright (on #asterisk-dev)
 Fixed by: me

........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@118554 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-05-27 19:21:03 +00:00
Tilghman Lesher 4169ea891c Merged revisions 118465 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r118465 | tilghman | 2008-05-27 13:58:09 -0500 (Tue, 27 May 2008) | 8 lines

NULL character should terminate only commands back to the core, not log
messages to the console.
(closes issue #12731)
 Reported by: seanbright
 Patches: 
       20080527__bug12731.diff.txt uploaded by Corydon76 (license 14)
 Tested by: seanbright

........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@118466 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-05-27 18:59:06 +00:00
Tilghman Lesher 316e334751 Change space-zero to now evaluate to false, as is expected by a great many.
(Inspired by a post on the -users list)


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@118223 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-05-25 14:31:29 +00:00
Jeff Peeler 1546f9662d Fixes segfault in parking, patch submitted by bmd.
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@118176 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-05-24 00:37:01 +00:00
Mark Michelson 975a848b67 A new feature thanks to the fine folks at Switchvox!
If a deadlock is detected, then the typical lock information will be
printed along with a backtrace of the stack for the offending threads.
Use of this requires compiling with DETECT_DEADLOCKS and having glibc
installed.

Furthermore, issuing the "core show locks" CLI command will print the
normal lock information as well as a backtraces for each lock. This
requires that DEBUG_THREADS is enabled and that glibc is installed.

All the backtrace features may be disabled by running the configure
script with --without-execinfo as an argument



git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@118173 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-05-23 22:35:50 +00:00
Brett Bryant d32c2d6fd9 Add new functionality to http server that requires manager authentication for any path that includes a directory named 'private'. This patch also
requires manager authentication for any POST's being sent to the server as well to help secure uploads.


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@118161 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-05-23 21:19:42 +00:00
Russell Bryant 61e6ae545b Merged revisions 118048 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r118048 | russell | 2008-05-23 07:30:53 -0500 (Fri, 23 May 2008) | 9 lines

Don't declare a function that takes variable arguments as inline, because it's
not valid, and on some compilers, will emit a warning.

http://gcc.gnu.org/onlinedocs/gcc/Inline.html#Inline

(closes issue #12289)
Reported by: francesco_r
Patches by Tilghman, final patch by me

........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@118049 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-05-23 12:37:31 +00:00
Tilghman Lesher 3e8269359f Merged revisions 117899 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r117899 | tilghman | 2008-05-22 13:53:53 -0500 (Thu, 22 May 2008) | 2 lines

Also remove preamble from asynchronous events (reported by jsmith on #asterisk-dev)

........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@117900 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-05-22 18:54:41 +00:00
Michiel van Baak f1e9371da8 - revert change to ast_queue_hangup and create ast_queue_hangup_with_cause
- make data member of the ast_frame struct a named union instead of a void

Recently the ast_queue_hangup function got a new parameter, the hangupcause
Feedback came in that this is no good and that instead a new function should be created.
This I did.

The hangupcause was stored in the seqno member of the ast_frame struct. This is not very
elegant, and since there's already a data member that one should be used.
Problem is, this member was a void *.
Now it's a named union so it can hold a pointer, an uint32 and there's a padding in case someone
wants to store another type in there in the future.

This commit is so massive, because all ast_frame.data uses have to be
altered to ast_frame.data.data

Thanks russellb and kpfleming for the feedback.

(closes issue #12674)
Reported by: mvanbaak


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@117802 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-05-22 16:29:54 +00:00
Russell Bryant 415516af1c Store build-time options as a string in AST_BUILDOPTS in buildopts.h. Also,
display this information in the "core show settings" CLI command.  This is
useful if you want to verify that you're running a build with DONT_OPTIMIZE,
DEBUG_THREADS, etc.


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@117756 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-05-22 13:40:52 +00:00
Mark Michelson 1b8f183ca3 This change makes it so that logs will report the correct source of verbose messages.
Until this change, all verbose messages in Asterisk's log files reported logger.c
as the source of the message.



git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@117693 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-05-21 22:34:27 +00:00
Tilghman Lesher 7a2413e904 Merged revisions 117519 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r117519 | tilghman | 2008-05-21 13:40:14 -0500 (Wed, 21 May 2008) | 3 lines

Strip the preamble from the output also when -rx is not being used
(Related to issue #12702)

........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@117520 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-05-21 18:43:26 +00:00
Russell Bryant e64aaf24b0 Merged revisions 117514 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r117514 | russell | 2008-05-21 13:28:46 -0500 (Wed, 21 May 2008) | 4 lines

Don't filter the magic character in the network verboser.  It gets filtered
once it reaches the client.
(related to issue #12702, pointed out by tilghman)

........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@117515 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-05-21 18:29:05 +00:00
Russell Bryant 457dbc1b4f Merged revisions 117507 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r117507 | russell | 2008-05-21 13:19:34 -0500 (Wed, 21 May 2008) | 7 lines

1) Don't print the verbose marker in front of every message from ast_verbose()
   being sent to remote consoles.

2) Fix pbx_gtkconsole to filter out the verbose marker.

(related to issue #12702)

........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@117508 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-05-21 18:20:11 +00:00
Russell Bryant 467b4746ab Merged revisions 117479 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r117479 | russell | 2008-05-21 13:11:51 -0500 (Wed, 21 May 2008) | 6 lines

Don't display the verbose marker for calls to ast_verbose() that do not include
a VERBOSE_PREFIX in front of the message.
(closes issue #12702)
Reported by: johnlange
Patched by me

........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@117481 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-05-21 18:12:19 +00:00
Mark Michelson 46e68c36b6 Be sure that we cache included files for each source file which loads
a configuration file.  As it was, only the first did so. This led to 
a problem if the included file was changed (but not the configuration 
file which includes it) and the second source file attempted to reload 
the configuration. It would not see that the included file had changed.

In this particular example, res_phoneprov and chan_sip both loaded
sip.conf, which included a file call sip.peers.conf. Since res_phoneprov
was the first to load sip.conf, only it cached the fact that sip.conf
included sip.peers.conf. If sip.peers.conf were changed and sip.conf were
not and a sip reload were issued (meaning that chan_sip attempts to 
reload sip.conf only if it and its included files have changed) the changes
made to sip.peers.conf would not be seen and therefore no action would be
taken.

(closes issue #12693)
Reported by: marsosa



git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@117367 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-05-21 02:20:31 +00:00
Luigi Rizzo d5c75ee032 + Implement a variant of astman_get_header() to return the first or
last match, and possibly skip empty fields.  The function is useful
  (and used here) when a form submits multiple 'Action' fields to the
  Manager.

  This change slightly modifies the current behaviour, but only in the
  case the user supplies multiple 'Action: ' lines and the first
  ones are empty, so the change is totally harmless.
 
+ Fix style on a couple of "if (displayconnects)" statements;
 
+ Expand a bit the 'Manager Test' interface, to make it slightly
  more user friendly. But also comment that the HTML should not
  be embedded in the C source.
 
None of this stuff needs to be applied to 1.4.



git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@117297 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-05-20 18:07:24 +00:00
Luigi Rizzo c7a4899ac4 Document the possible presence of multiple variables with the
same name in http queries, which might confuse the manager.

Replace calls to ast_uri_decode() with a local function that also
replaces '+' with ' ', as this is the normal encoding for
spaces in http requests.
This allows passing cli commands to the manager through the
http interface.



git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@117295 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-05-20 17:48:43 +00:00
Luigi Rizzo d56a42cb1a Reverse the check for Cookie: and remove leftover code implementing
the same thing.
Add an ast_debug() call to help debugging the url matching.



git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@117266 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-05-20 16:39:39 +00:00
Russell Bryant 7d2d373d6f Minor formatting change to test a mantis change ...
(issue #12674)


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@117212 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-05-19 20:45:25 +00:00
Joshua Colp 83e37eaf1c The logger closes the files it is logging to when reloading so we have to read in the logger configuration even if it has not changed so that the logs get opened again.
(closes issue #12665)
Reported by: DennisD


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@117085 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-05-19 16:03:33 +00:00
Luigi Rizzo 18065a175d Use casts or intermediate variables to remove a number
of platform/compiler-dependent warnings when handing
struct timeval fields, both reading and printing them.

It is a lost battle to handle the different ways struct timeval
is handled on the various platforms and compilers, so try
to be pragmatic and go through int/long which are universally
supported.



git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@116557 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-05-15 10:56:29 +00:00
Russell Bryant 08f91c1192 Merged revisions 116463 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r116463 | russell | 2008-05-14 16:32:00 -0500 (Wed, 14 May 2008) | 4 lines

Add ast_assert(), which can be used to handle fatal errors.  It is only compiled
in if dev-mode is enabled, and only aborts if DO_CRASH is defined.
(inspired by issue #12650)

........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@116469 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-05-14 21:40:43 +00:00
Joshua Colp 0d85a0eff7 Add a missing context unlock.
(closes issue #12649)
Reported by: ys
Patches:
      pbx.c.diff uploaded by ys (license 281)


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@116461 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-05-14 21:11:49 +00:00
Joshua Colp 5ec16b6d6b Merged revisions 116352 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r116352 | file | 2008-05-14 15:53:39 -0300 (Wed, 14 May 2008) | 4 lines

Add linux-gnueabi in.
(closes issue #12529)
Reported by: tzafrir

........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@116353 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-05-14 18:54:16 +00:00
Jeff Peeler 4729632721 Fixed a few problems with multiparking: call not being parked in the correct parking spot, caller not being notified of parking spot position, and improperly hanging up the call during a transfer due to timing out (not providing the extension in which to transfer).
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@116297 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-05-14 16:52:30 +00:00
Olle Johansson bb386c84e7 Adding spport for T.140 RED - Simple RTP redundancy to prevent packet loss in text stream
Work sponsored by Omnitor AB, Stockholm, Sweden (http://www.omnitor.se)



git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@116237 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-05-14 13:37:07 +00:00
Olle Johansson 29b1d73567 Add support for codec settings in originate via call file and manager.
This is to enable video and text in originated calls. Development sponsored
by Omnitor AB, Sweden. (http://www.omnitor.se)


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@116229 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-05-14 12:32:57 +00:00
Mark Michelson b6aef57619 Merged revisions 116088 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r116088 | mmichelson | 2008-05-13 18:47:49 -0500 (Tue, 13 May 2008) | 12 lines

A change to the way channel locks are handled when DEBUG_CHANNEL_LOCKS is defined.

After debugging a deadlock, it was noticed that when DEBUG_CHANNEL_LOCKS
is enabled in menuselect, the actual origin of channel locks is obscured
by the fact that all channel locks appear to happen in the function
ast_channel_lock(). This code change redefines ast_channel_lock to be a
macro which maps to __ast_channel_lock(), which then relays the proper
file name, line number, and function name information to the core lock
functions so that this information will be displayed in the case that
there is some sort of locking error or core show locks is issued.


........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@116089 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-05-13 23:54:01 +00:00
Russell Bryant 8e4c0e85d8 Merged revisions 115990 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r115990 | russell | 2008-05-13 16:05:57 -0500 (Tue, 13 May 2008) | 5 lines

Fix an issue that I noticed in autoservice while mmichelson and I were debugging
a different problem.  I noticed that it was theoretically possible for two threads
to attempt to start the autoservice thread at the same time.  This change makes the
process of starting the autoservice thread, thread-safe.

........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@116001 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-05-13 21:07:59 +00:00
Tilghman Lesher 99cad5bf49 Merged revisions 115884 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r115884 | tilghman | 2008-05-13 13:36:13 -0500 (Tue, 13 May 2008) | 3 lines

If the socket dies (read returns 0=EOF), return immediately.
(Closes issue #12637)

........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@115886 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-05-13 18:38:11 +00:00
Olle Johansson e30c26c689 Add support for playing an audio file for caller and callee at start and stop of monitoring (one-touch monitor).
Keep messages short, since the other party is waiting while one party hear the message...



git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@115784 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-05-12 18:39:09 +00:00
Mark Michelson 2e054642d5 Merged revisions 115735 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r115735 | mmichelson | 2008-05-12 12:51:14 -0500 (Mon, 12 May 2008) | 7 lines

If a thread holds no locks, do not print any information on the thread when issuing
a core show locks command. This will help to de-clutter output somewhat.

Russell said it would be fine to place this improvement in the 1.4 branch, so that's
why it's going here too.


........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@115737 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-05-12 17:55:08 +00:00
Mark Michelson 7daebcd610 Adding support for "urgent" voicemail messages. Messages which are
marked "urgent" are considered to be higher priority than other messages
and so they will be played before any other messages in a user's mailbox.

There are two ways to leave an urgent message. 
1. send the 'U' option to VoiceMail().
2. Set review=yes in voicemail.conf. This will give instructions for 
   a caller to mark a message as urgent after the message has been recorded.

I have tested that this works correctly with file and ODBC storage, and James
Rothenberger (who wrote initial support for this feature) has tested its use
with IMAP storage.

(closes issue #11817)
Reported by: jaroth
	Based on branch http://svn.digium.com/svn/asterisk/team/jrothenberger/asterisk-urgent
Tested by: putnopvut, jaroth



git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@115588 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-05-09 21:22:42 +00:00
Brett Bryant 65b8381550 The following patch adds new options and alters the default behavior of the ENUM* functions. The TXCIDNAME lookup function has also gotten a
new paramater. The new options for ENUM* functions include 'u', 's', 'i', and 'd' which return the full uri, trigger isn specific rewriting, look 
for branches into an infrastructure enum tree, or do a direct dns lookup of a number respectively. The new paramater for TXCIDNAME adds a 
zone-suffix argument for looking up caller id's in DNS that aren't e164.arpa.

This patch is based on the original code from otmar, modified by snuffy, and tested by jtodd, me, and others.

(closes issue #8089)
Reported by: otmar
Patches:
      20080508_bug8089-1.diff 
	- original code by otmar (license 480), 
	- revised by snuffy (license 35)
Tested by: oej, otmar, jtodd, Corydon76, snuffy, alexnikolov, bbryant


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@115584 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-05-09 19:54:45 +00:00
Russell Bryant e40c662a06 Merged revisions 115551 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r115551 | russell | 2008-05-08 10:24:54 -0500 (Thu, 08 May 2008) | 4 lines

Don't use a channel before checking for channel allocation failure.
(closes issue #12609)
Reported by: edantie

........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@115552 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-05-08 15:26:49 +00:00
Russell Bryant 56aa9b9efa Fix up a problem that was introduced into the scheduler when it was converted
to use doubly linked lists.  The schedule() function had an optimization that
had it try to guess which direction would be better for the traversal to insert
the task into the scheduler queue.  However, if the code chose the path where
it traversed the queue in reverse, and the result was that the task should be
at the head of the queue, then the code would actually put it at the tail,
instead.

(Problem found by bbryant, debugged and fixed by bbryant and me)


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@115537 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-05-07 21:11:33 +00:00
Tilghman Lesher ff01792e50 Merged revisions 115415 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r115415 | tilghman | 2008-05-06 14:31:39 -0500 (Tue, 06 May 2008) | 2 lines

Don't print the terminating NUL.  (Closes issue #12589)

........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@115416 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-05-06 19:32:29 +00:00
Tilghman Lesher e82b7365b7 Merged revisions 115333 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r115333 | tilghman | 2008-05-05 17:50:31 -0500 (Mon, 05 May 2008) | 7 lines

Separate verbose output from CLI output, by using a preamble.
(closes issue #12402)
 Reported by: Corydon76
 Patches: 
       20080410__no_verbose_in_rx_output.diff.txt uploaded by Corydon76 (license 14)
       20080501__no_verbose_in_rx_output__1.4.diff.txt uploaded by Corydon76 (license 14)

........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@115334 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-05-05 23:00:31 +00:00
Mark Michelson 276118a776 #execing the same file multiple times led to warning messages saying that the same file was
being #included twice. This was due to the fact that #exec created a temporary file which
was then #included. The name of the temporary file was the name of the #exec'd file, with
the Unix timestamp and thread ID concatenated. The issue was that if multiple #exec statements
of the same file were reached in the same second, then the result was that the temporary files
would have duplicate names. To resolve this, the temporary file now has microsecond resolution
for the timestamp portion.

(closes issue #12574)
Reported by: jmls
Patches:
      12574.patch uploaded by putnopvut (license 60)
Tested by: jmls, putnopvut



git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@115329 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-05-05 22:14:06 +00:00
Russell Bryant 7f29bc7bc6 Simplify code by using a taskprocessor for dispatching events in the Asterisk core.
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@115324 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-05-05 22:01:56 +00:00
Tilghman Lesher 73581f3905 Optionally display the value of several variables within the Status command.
(Closes issue AST-34)


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@115301 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-05-05 19:33:14 +00:00
Dwayne M. Hubbard ca4ae77c91 pbx uses a taskprocessor for device state changes
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@115272 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-05-03 04:12:54 +00:00
Dwayne M. Hubbard b0b72e89a8 A taskprocessor is an object that has a name, a task queue, and an event processing thread. Modules reference a taskprocessor, push tasks into the taskprocessor as needed, and unreference the taskprocessor when the taskprocessor is no longer needed.
A task wraps a callback function pointer and a data pointer and is managed internal to the taskprocessor subsystem.  The callback function is responsible for releasing task data.

Taskprocessor API
 * ast_taskprocessor_get(..) - returns a reference to a taskprocessor
 * ast_taskprocessor_unreference(..) - releases reference to a taskprocessor
 * ast_taskprocessor_push(..) - push a task into a taskprocessor queue

Check doxygen for more details


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@115268 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-05-03 03:40:32 +00:00
Tilghman Lesher b11854445b Add attributes to various API calls, to help track down bugs (and remove a deprecated function)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@115157 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-05-02 02:33:04 +00:00