aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorrussell <russell@f38db490-d61c-443f-a65b-d21fe96a405b>2008-12-09 22:25:06 +0000
committerrussell <russell@f38db490-d61c-443f-a65b-d21fe96a405b>2008-12-09 22:25:06 +0000
commit78f46b1cdbb99539fdc690b6fd6b40a293298333 (patch)
tree019c21417b7704f1a2aa65feb3c1674288a4c52c
parent1a9ca96099ea596042c133bb858c7c6d0425b612 (diff)
Merged revisions 162413 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r162413 | russell | 2008-12-09 16:17:39 -0600 (Tue, 09 Dec 2008) | 8 lines 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) ........ git-svn-id: http://svn.digium.com/svn/asterisk/trunk@162414 f38db490-d61c-443f-a65b-d21fe96a405b
-rw-r--r--include/asterisk/utils.h2
-rw-r--r--main/asterisk.c4
-rw-r--r--main/utils.c62
3 files changed, 0 insertions, 68 deletions
diff --git a/include/asterisk/utils.h b/include/asterisk/utils.h
index 3737ef9c2..1c676b8ee 100644
--- a/include/asterisk/utils.h
+++ b/include/asterisk/utils.h
@@ -307,8 +307,6 @@ static force_inline void ast_slinear_saturated_divide(short *input, short *value
*input /= *value;
}
-int test_for_thread_safety(void);
-
#ifdef localtime_r
#undef localtime_r
#endif
diff --git a/main/asterisk.c b/main/asterisk.c
index 250b55271..e82a8d87e 100644
--- a/main/asterisk.c
+++ b/main/asterisk.c
@@ -3297,10 +3297,6 @@ int main(int argc, char *argv[])
}
#endif
- /* Test recursive mutex locking. */
- if (test_for_thread_safety())
- ast_verbose("Warning! Asterisk is not thread safe.\n");
-
ast_event_init();
ast_makesocket();
diff --git a/main/utils.c b/main/utils.c
index 424504588..71a4dcc00 100644
--- a/main/utils.c
+++ b/main/utils.c
@@ -226,68 +226,6 @@ struct hostent *ast_gethostbyname(const char *host, struct ast_hostent *hp)
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. */
void ast_md5_hash(char *output, char *input)
{