This section covers some locking fundamentals, as well as some information on
locking as it is used in Asterisk. It describes some of the ways that are used
and could be used to achieve deadlock avoidance. It also demonstrates the
unfortunate conclusion that with the use of recursive locks, none of the
constructs in use today are failsafe from deadlocks. Finally, it makes some
recommendations for new code being written. As proper locking strategies is a
complex subject, this section still has room for expansion and improvement.
This is a result of collaboration between Luigi Rizzo and myself on the
asterisk-dev mailing list.
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@127363 65c4cc65-6c06-0410-ace0-fbb531ad65f3
recommended in RFC 3261, instead of being hardcoded to 32 seconds. This is
important for LANs, as it allows autocongestion to occur much more quickly, if
desired by the local PBX administrator. It also corrects a bug: if the T1
timer was increased beyond 500ms, then timer B would have been set at a much
lower value than recommended.
(closes issue #12544)
Reported by: kactus
Patches:
20080616__bug12544.diff.txt uploaded by Corydon76 (license 14)
Tested by: kactus
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@127297 65c4cc65-6c06-0410-ace0-fbb531ad65f3
callback. This change differs from commit 127113 in that now the
channel is not set to AST_STATE_UP until after the answer callback.
(closes issue #12924)
Reported by: snyfer
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@127157 65c4cc65-6c06-0410-ace0-fbb531ad65f3
https://origsvn.digium.com/svn/asterisk/branches/1.4
........
r126573 | russell | 2008-06-30 11:05:08 -0500 (Mon, 30 Jun 2008) | 10 lines
Fix a typo in the non-DEBUG_THREADS version of the recently added DEADLOCK_AVOIDANCE()
macro. This caused the lock to not actually be released, and as a result, not
avoid deadlocks at all. This resolves the issues reported in the last while about
Asterisk locking up all over the place (and most commonly, in chan_iax2).
(closes issue #12927)
(closes issue #12940)
(closes issue #12925)
(potentially closes others ...)
........
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@126574 65c4cc65-6c06-0410-ace0-fbb531ad65f3
fix a bug which caused a crash when a videodevice was
specified after startgui=1 in the config file. This also
involves a slightly different method to determine if the
gui is active or not.
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@126572 65c4cc65-6c06-0410-ace0-fbb531ad65f3
Merged revisions 126516 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4
........
r126516 | oej | 2008-06-30 14:50:55 +0200 (MÃ¥n, 30 Jun 2008) | 10 lines
Send all responses to an INVITE reliably, so that we retransmit if we don't get an ACK and
also fail if we don't get the very same precious ACK. Based on patch by tsearle, with
my own additions.
(closes issue #12951)
Reported by: tsearle
Patches:
busy_retransmit.patch uploaded by tsearle (license 373)
........
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@126517 65c4cc65-6c06-0410-ace0-fbb531ad65f3
FreeTDS 0.60. Update the docs to reflect that we can now compile and run
against all modern releases of FreeTDS (0.60 through 0.82)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@126513 65c4cc65-6c06-0410-ace0-fbb531ad65f3
giving you support for up to 9 video sources (e.g. webcams,
or X11 grabbers, etc.) active at once, displaying thumbnails for
each of them in the main GUI window, and with the ability to switch
between them on the fly during a conversation.
The code also implements a 'Picture in Picture' feature,
allowing you to select any source as primary or secondary,
and move the PiP window by just dragging it with the mouse.
The window looks like this:
________________________________________________________________
| ______ ______ ______ ______ ______ ______ ______ |
| | tn.1 | | tn.2 | | tn.3 | | tn.4 | | tn.5 | | tn.6 | | tn.7 | |
| |______| |______| |______| |______| |______| |______| |______| |
| ______ ______ ______ ______ ______ ______ ______ |
| |______| |______| |______| |______| |______| |______| |______| |
| _________________ __________________ _________________ |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | remote video | | | | local video | |
| | | | | | ______ | |
| | | | keypad | | | PIP || |
| | | | | | |______|| |
| |_________________| | | |_________________| |
| | | |
| | | |
| |__________________| |
|________________________________________________________________|
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@126480 65c4cc65-6c06-0410-ace0-fbb531ad65f3
remove weird pre-setting of LUA paths; they are not necessary; also use the proper path for including the files in pbx_lua.c
add searching for OpenAIS libraries in /usr/lib/openais if a path is not specified; not sure if this is really the optimal solution, but it works
make the compiler shut up about some ignored function results in pbx_gtkconsole; this module is badly coded anyway
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@126356 65c4cc65-6c06-0410-ace0-fbb531ad65f3
you have multiple active instances of this grabber;
require v4l device names to start with '/dev/' - prevents some useless
attempt to open a file as a device.
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@126309 65c4cc65-6c06-0410-ace0-fbb531ad65f3
implementation from using the volatile libtds, to using the db-lib front end.
The unintended side effect of this is that we support (at least) versions 0.62
through 0.82 of the FreeTDS distribution without any #ifdef ugliness.
(closes issue #12844)
Reported by: jcollie
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@126226 65c4cc65-6c06-0410-ace0-fbb531ad65f3