summaryrefslogtreecommitdiff
path: root/channels
diff options
context:
space:
mode:
Diffstat (limited to 'channels')
-rw-r--r--channels/chan_sip.c8
-rw-r--r--channels/sip/include/sip.h10
-rw-r--r--channels/sip/security_events.c2
3 files changed, 15 insertions, 5 deletions
diff --git a/channels/chan_sip.c b/channels/chan_sip.c
index b7603b691..f6c8b90c0 100644
--- a/channels/chan_sip.c
+++ b/channels/chan_sip.c
@@ -241,6 +241,8 @@ ASTERISK_FILE_VERSION(__FILE__, "$Revision$")
balanced, along with the complete history for that object.
In normal operation, the macros defined will throw away the tags, so they do not
affect the speed of the program at all. They can be considered to be documentation.
+
+ Note: This must also be enabled in channels/sip/security_events.c
*/
/* #define REF_DEBUG 1 */
@@ -3291,9 +3293,7 @@ cleanup:
}
#ifdef REF_DEBUG
-#define sip_ref_peer(arg1,arg2) _ref_peer((arg1),(arg2), __FILE__, __LINE__, __PRETTY_FUNCTION__)
-#define sip_unref_peer(arg1,arg2) _unref_peer((arg1),(arg2), __FILE__, __LINE__, __PRETTY_FUNCTION__)
-static struct sip_peer *_ref_peer(struct sip_peer *peer, char *tag, char *file, int line, const char *func)
+struct sip_peer *_ref_peer(struct sip_peer *peer, char *tag, char *file, int line, const char *func)
{
if (peer)
__ao2_ref_debug(peer, 1, tag, file, line, func);
@@ -3302,7 +3302,7 @@ static struct sip_peer *_ref_peer(struct sip_peer *peer, char *tag, char *file,
return peer;
}
-static struct sip_peer *_unref_peer(struct sip_peer *peer, char *tag, char *file, int line, const char *func)
+void *_unref_peer(struct sip_peer *peer, char *tag, char *file, int line, const char *func)
{
if (peer)
__ao2_ref_debug(peer, -1, tag, file, line, func);
diff --git a/channels/sip/include/sip.h b/channels/sip/include/sip.h
index f51ac7749..f74446ab8 100644
--- a/channels/sip/include/sip.h
+++ b/channels/sip/include/sip.h
@@ -1918,7 +1918,15 @@ struct sip_peer *sip_find_peer(const char *peer, struct ast_sockaddr *addr, int
void sip_auth_headers(enum sip_auth_type code, char **header, char **respheader);
const char *sip_get_header(const struct sip_request *req, const char *name);
const char *sip_get_transport(enum sip_transport t);
-void *sip_unref_peer(struct sip_peer *peer, char *tag);
+
+#ifdef REF_DEBUG
+#define sip_ref_peer(arg1,arg2) _ref_peer((arg1),(arg2), __FILE__, __LINE__, __PRETTY_FUNCTION__)
+#define sip_unref_peer(arg1,arg2) _unref_peer((arg1),(arg2), __FILE__, __LINE__, __PRETTY_FUNCTION__)
+struct sip_peer *_ref_peer(struct sip_peer *peer, char *tag, char *file, int line, const char *func);
+void *_unref_peer(struct sip_peer *peer, char *tag, char *file, int line, const char *func);
+#else
struct sip_peer *sip_ref_peer(struct sip_peer *peer, char *tag);
+void *sip_unref_peer(struct sip_peer *peer, char *tag);
+#endif /* REF_DEBUG */
#endif
diff --git a/channels/sip/security_events.c b/channels/sip/security_events.c
index cde9f12f3..4045ae14d 100644
--- a/channels/sip/security_events.c
+++ b/channels/sip/security_events.c
@@ -32,6 +32,8 @@
ASTERISK_FILE_VERSION(__FILE__, "$Revision$")
+/* #define REF_DEBUG 1 */
+
#include "include/sip.h"
#include "include/security_events.h"