locking: Add temporary sanity checks.
authorRichard Mudgett <rmudgett@digium.com>
Mon, 24 Mar 2014 23:36:36 +0000 (23:36 +0000)
committerRichard Mudgett <rmudgett@digium.com>
Mon, 24 Mar 2014 23:36:36 +0000 (23:36 +0000)
Add some temporary sanity checks to hunt for locking problems with the
masquerade supertest.

git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@411073 65c4cc65-6c06-0410-ace0-fbb531ad65f3

main/lock.c
utils/ael_main.c
utils/conf2ael.c

index d66e01b..0af736f 100644 (file)
@@ -311,6 +311,7 @@ int __ast_pthread_mutex_lock(const char *filename, int lineno, const char *func,
        }
 #endif /* DEBUG_THREADS */
 
+       ast_assert(res == 0);/*!< \todo BUGBUG Test to ensure that lock/unlock does not fail. */
        return res;
 }
 
@@ -417,6 +418,7 @@ int __ast_pthread_mutex_unlock(const char *filename, int lineno, const char *fun
                        __ast_mutex_logger("%s line %d (%s): Error: mutex '%s' is uninitialized and unable to initialize.\n",
                                         filename, lineno, func, mutex_name);
                }
+               ast_assert(res == 0);/*!< \todo BUGBUG Test to ensure that lock/unlock does not fail. */
                return res;
        }
 #endif /* AST_MUTEX_INIT_W_CONSTRUCTORS */
@@ -477,6 +479,7 @@ int __ast_pthread_mutex_unlock(const char *filename, int lineno, const char *fun
        }
 #endif /* DEBUG_THREADS */
 
+       ast_assert(res == 0);/*!< \todo BUGBUG Test to ensure that lock/unlock does not fail. */
        return res;
 }
 
index b4245c8..96898e1 100644 (file)
@@ -37,6 +37,12 @@ void ast_register_file_version(const char *file, const char *version) { }
 void ast_unregister_file_version(const char *file) { }
 #endif
 
+void __ast_assert_failed(int condition, const char *condition_str, const char *file, int line, const char *function);
+void __ast_assert_failed(int condition, const char *condition_str, const char *file, int line, const char *function)
+{
+       /*! \todo BUGBUG Put here only to allow utils to compile in AST_DEVMODE */
+}
+
 struct ast_flags ast_compat = { 7 };
 
 /*** MODULEINFO
index ef52253..fe3c9f3 100644 (file)
@@ -80,6 +80,12 @@ char ast_config_AST_SYSTEM_NAME[20] = ""; */
 int option_debug = 0;
 int option_verbose = 0;
 
+void __ast_assert_failed(int condition, const char *condition_str, const char *file, int line, const char *function);
+void __ast_assert_failed(int condition, const char *condition_str, const char *file, int line, const char *function)
+{
+       /*! \todo BUGBUG Put here only to allow utils to compile in AST_DEVMODE */
+}
+
 void ast_register_file_version(const char *file, const char *version);
 void ast_register_file_version(const char *file, const char *version)
 {