[asterisk-commits] russell: branch 1.4 r162413 - in /branches/1.4: include/asterisk/ main/
SVN commits to the Asterisk project
asterisk-commits at lists.digium.com
Tue Dec 9 16:17:40 CST 2008
Author: russell
Date: Tue Dec 9 16:17:39 2008
New Revision: 162413
URL: http://svn.digium.com/view/asterisk?view=rev&rev=162413
Log:
Remove the test_for_thread_safety() function completely.
The test is not valid. Besides, if we actually suspected that recursive
mutexes were not working, we would get a ton of LOG_ERROR messages when
DEBUG_THREADS is turned on.
(inspired by a discussion on the asterisk-dev list)
Modified:
branches/1.4/include/asterisk/utils.h
branches/1.4/main/asterisk.c
branches/1.4/main/utils.c
Modified: branches/1.4/include/asterisk/utils.h
URL: http://svn.digium.com/view/asterisk/branches/1.4/include/asterisk/utils.h?view=diff&rev=162413&r1=162412&r2=162413
==============================================================================
--- branches/1.4/include/asterisk/utils.h (original)
+++ branches/1.4/include/asterisk/utils.h Tue Dec 9 16:17:39 2008
@@ -218,8 +218,6 @@
{
*input /= *value;
}
-
-int test_for_thread_safety(void);
/*!
* \brief thread-safe replacement for inet_ntoa().
Modified: branches/1.4/main/asterisk.c
URL: http://svn.digium.com/view/asterisk/branches/1.4/main/asterisk.c?view=diff&rev=162413&r1=162412&r2=162413
==============================================================================
--- branches/1.4/main/asterisk.c (original)
+++ branches/1.4/main/asterisk.c Tue Dec 9 16:17:39 2008
@@ -2981,10 +2981,6 @@
}
#endif
- /* Test recursive mutex locking. */
- if (test_for_thread_safety())
- ast_verbose("Warning! Asterisk is not thread safe.\n");
-
ast_makesocket();
sigemptyset(&sigs);
sigaddset(&sigs, SIGHUP);
Modified: branches/1.4/main/utils.c
URL: http://svn.digium.com/view/asterisk/branches/1.4/main/utils.c?view=diff&rev=162413&r1=162412&r2=162413
==============================================================================
--- branches/1.4/main/utils.c (original)
+++ branches/1.4/main/utils.c Tue Dec 9 16:17:39 2008
@@ -226,68 +226,6 @@
return NULL;
#endif
return &hp->hp;
-}
-
-
-
-AST_MUTEX_DEFINE_STATIC(test_lock);
-AST_MUTEX_DEFINE_STATIC(test_lock2);
-static pthread_t test_thread;
-static int lock_count = 0;
-static int test_errors = 0;
-
-/*! \brief This is a regression test for recursive mutexes.
- test_for_thread_safety() will return 0 if recursive mutex locks are
- working properly, and non-zero if they are not working properly. */
-static void *test_thread_body(void *data)
-{
- ast_mutex_lock(&test_lock);
- lock_count += 10;
- if (lock_count != 10)
- test_errors++;
- ast_mutex_lock(&test_lock);
- lock_count += 10;
- if (lock_count != 20)
- test_errors++;
- ast_mutex_lock(&test_lock2);
- ast_mutex_unlock(&test_lock);
- lock_count -= 10;
- if (lock_count != 10)
- test_errors++;
- ast_mutex_unlock(&test_lock);
- lock_count -= 10;
- ast_mutex_unlock(&test_lock2);
- if (lock_count != 0)
- test_errors++;
- return NULL;
-}
-
-int test_for_thread_safety(void)
-{
- ast_mutex_lock(&test_lock2);
- ast_mutex_lock(&test_lock);
- lock_count += 1;
- ast_mutex_lock(&test_lock);
- lock_count += 1;
- ast_pthread_create(&test_thread, NULL, test_thread_body, NULL);
- usleep(100);
- if (lock_count != 2)
- test_errors++;
- ast_mutex_unlock(&test_lock);
- lock_count -= 1;
- usleep(100);
- if (lock_count != 1)
- test_errors++;
- ast_mutex_unlock(&test_lock);
- lock_count -= 1;
- if (lock_count != 0)
- test_errors++;
- ast_mutex_unlock(&test_lock2);
- usleep(100);
- if (lock_count != 0)
- test_errors++;
- pthread_join(test_thread, NULL);
- return(test_errors); /* return 0 on success. */
}
/*! \brief Produce 32 char MD5 hash of value. */
More information about the asterisk-commits
mailing list