Hi Folks,
We faced a deadlock caused by acquiring the same lock twice in
src/modules/dmq_usrloc/usrloc_sync.c
dmq_ul.lock_udomain(_d, &aor);
>> lock_get(_d->table[sl].lock);
get_urecord_by_ruid
>> lock_ulslot(_d, sl);
>>>> lock_get(_d->table[i].lock);
The attached fix will not lock until get_urecord_by_ruid as returned.
Regards
Julien
While waiting for Santa, it's a good time to also express my thanks and
greetings to all the friends, developers and community members that made
2016 another amazing year for Kamailio project.
Enjoy the winter holidays together with your beloved ones! Merry Christmas!
Daniel
--
Daniel-Constantin Mierla
www.twitter.com/miconda -- www.linkedin.com/in/miconda
Kamailio World Conference - May 8-10, 2017 - www.kamailioworld.com
Module: kamailio
Branch: master
Commit: d1f1c078031db2d304b4585dee2d7001a4784dd8
URL: https://github.com/kamailio/kamailio/commit/d1f1c078031db2d304b4585dee2d700…
Author: Daniel-Constantin Mierla <miconda(a)gmail.com>
Committer: Daniel-Constantin Mierla <miconda(a)gmail.com>
Date: 2016-12-24T10:29:35+01:00
tmx: bits of formatting in the docs
---
Modified: src/modules/tmx/doc/tmx_admin.xml
---
Diff: https://github.com/kamailio/kamailio/commit/d1f1c078031db2d304b4585dee2d700…
Patch: https://github.com/kamailio/kamailio/commit/d1f1c078031db2d304b4585dee2d700…
---
diff --git a/src/modules/tmx/doc/tmx_admin.xml b/src/modules/tmx/doc/tmx_admin.xml
index fd426d2..bad7758 100644
--- a/src/modules/tmx/doc/tmx_admin.xml
+++ b/src/modules/tmx/doc/tmx_admin.xml
@@ -10,9 +10,9 @@
<!-- Module User's Guide -->
<chapter>
-
+
<title>&adminguide;</title>
-
+
<section>
<title>Overview</title>
<para>
@@ -24,7 +24,7 @@
http://www.kamailio.org/docs/modules/stable/tm.html</ulink>
</para>
</section>
-
+
<section>
<title>Dependencies</title>
<section>
@@ -210,7 +210,7 @@ if (t_reply_callid("123qaz", "5", "458", "Replied remotely")) {
<function moreinfo="none">t_flush_flags()</function>
</title>
<para>
- Flush the flags from current SIP message into the already created
+ Flush the flags from current SIP message into the already created
transaction. It make sense only in routing block if the transaction was
created via t_newtran() and the flags have been altered since.
</para>
@@ -531,13 +531,13 @@ event_route [tm:branch-failure:contact] {
</para></listitem>
<listitem><para>
<emphasis>headers</emphasis> - set of additional headers to
- be added to the request; at least
+ be added to the request; at least
<quote>From</quote> and <quote>To</quote> headers must be
specify)
</para></listitem>
<listitem><para>
<emphasis>body</emphasis> - (optional, may not be present)
- request body (if present, requires the
+ request body (if present, requires the
<quote>Content-Type</quote> and <quote>Content-length</quote>
headers)
</para></listitem>
@@ -603,12 +603,12 @@ event_route [tm:branch-failure:contact] {
</para></listitem>
<listitem><para>
<emphasis>new_headers</emphasis> - extra headers to be
- appended to the reply; use a dot (<quote>.</quote>) char
+ appended to the reply; use a dot (<quote>.</quote>) char
only if there are no headers;
</para></listitem>
<listitem><para>
<emphasis>body</emphasis> - (optional, may not be present)
- reply body (if present, requires the
+ reply body (if present, requires the
<quote>Content-Type</quote> and <quote>Content-length</quote>
headers)
</para></listitem>
@@ -640,12 +640,12 @@ event_route [tm:branch-failure:contact] {
</para></listitem>
<listitem><para>
<emphasis>new_headers</emphasis> - extra headers to be
- appended to the reply; use a dot (<quote>.</quote>) char
+ appended to the reply; use a dot (<quote>.</quote>) char
only if there are no headers;
</para></listitem>
<listitem><para>
<emphasis>body</emphasis> - (optional, may not be present)
- reply body (if present, requires the
+ reply body (if present, requires the
<quote>Content-Type</quote> and <quote>Content-length</quote>
headers)
</para></listitem>
Module: kamailio
Branch: master
Commit: 34c45f8805266f47e9d71fffa06d6e6a97b667a6
URL: https://github.com/kamailio/kamailio/commit/34c45f8805266f47e9d71fffa06d6e6…
Author: Daniel-Constantin Mierla <miconda(a)gmail.com>
Committer: Daniel-Constantin Mierla <miconda(a)gmail.com>
Date: 2016-12-24T10:29:35+01:00
matrix: rpc commands documentation
---
Modified: src/modules/matrix/doc/matrix_admin.xml
---
Diff: https://github.com/kamailio/kamailio/commit/34c45f8805266f47e9d71fffa06d6e6…
Patch: https://github.com/kamailio/kamailio/commit/34c45f8805266f47e9d71fffa06d6e6…
---
diff --git a/src/modules/matrix/doc/matrix_admin.xml b/src/modules/matrix/doc/matrix_admin.xml
index 862ebae..375255f 100644
--- a/src/modules/matrix/doc/matrix_admin.xml
+++ b/src/modules/matrix/doc/matrix_admin.xml
@@ -9,7 +9,7 @@
]>
<chapter>
<title>&adminguide;</title>
-
+
<section>
<title>Overview</title>
<para>
@@ -36,7 +36,7 @@
<section>
<title>&kamailio; Modules</title>
<para>
- The module depends on the following modules (in the other words
+ The module depends on the following modules (in the other words
the listed modules must be loaded before this module):
</para>
<itemizedlist>
@@ -48,7 +48,7 @@
<section>
<title>External Libraries or Applications</title>
<para>
- The following libraries or applications must be installed
+ The following libraries or applications must be installed
before running &kamailio; with this module loaded:
</para>
<itemizedlist>
@@ -168,7 +168,7 @@ modparam("matrix", "matrix_res_col", "res")
Looks up the desired result ID in the matrix for the given column
and value and saves the result in dstavp. Returns false if the cell
is not defined or when an error occurred.
-
+
Pseudo-variables or AVPs can be used for first and second.
</para>
<example>
@@ -185,20 +185,20 @@ cr_route("$avp(route_tree)", "$rd", "$rU", "$rU", "call_id");
</section>
</section>
<section>
- <title><acronym>MI</acronym> Commands</title>
- <section>
+ <title>RPC Commands</title>
+ <section id="matrix.rpc.reload">
<title>
- <function moreinfo="none">reload_matrix</function>
+ <function moreinfo="none">matrix.reload</function>
</title>
<para>
- Reloads the internal matrix representation from the database.
- This is necessary after entries in the database have been changed.
+ Reloads the internal matrix representation from the database.
+ This is necessary after entries in the database have been changed.
</para>
<example>
- <title><function>reload_matrix</function> usage</title>
+ <title><function>matrix.reload</function> usage</title>
<programlisting format="linespecific">
...
-kamctl fifo reload_matrix
+&kamcmd; matrix.reload
...
</programlisting>
</example>
@@ -209,12 +209,12 @@ kamctl fifo reload_matrix
<section>
<title>Database setup</title>
<para>
- Before running &kamailio; with matrix, you have to setup the database
- table where the module will read the matrix data. For that, if
+ Before running &kamailio; with matrix, you have to setup the database
+ table where the module will read the matrix data. For that, if
the table was not created by the installation script or you choose
to install everything by yourself you can use the matrix-create.sql
<acronym>SQL</acronym> script in the database directories in the
- kamailio/scripts folder as template.
+ kamailio/scripts folder as template.
Database, table, and column names can be set with module parameters so they
can be changed.
You can also find the complete database documentation on the