]> git.ipfire.org Git - thirdparty/asterisk.git/commitdiff
Tweak test_hashtab_thrash test to allow the critical threads to execute.
authorJoshua Colp <jcolp@digium.com>
Wed, 14 Aug 2013 18:08:27 +0000 (18:08 +0000)
committerJoshua Colp <jcolp@digium.com>
Wed, 14 Aug 2013 18:08:27 +0000 (18:08 +0000)
Depending on certain conditions it was possible for the hashtab counting thread
to starve other threads, preventing them from executing in the expected fashion.
This change adds a sleep to allow the others to do what they need to do. While
this doesn't thrash the hashtab as much as previously, it at least works.

(closes issue ASTERISK-22276)
Reported by: Matt Jordan
........

Merged revisions 396619 from http://svn.asterisk.org/svn/asterisk/branches/1.8

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

tests/test_hashtab_thrash.c

index 373922bf84976392e3a1d810344df1e7f4de3974..2c135956e0383c6f5ea00c3c83af708d1fad53b0 100644 (file)
@@ -198,7 +198,7 @@ static void *hash_test_count(void *d)
 
                if (last_count == count) {
                        /* Allow other threads to run. */
-                       sched_yield();
+                       usleep(1);
                } else if (last_count > count) {
                        /* Make sure the hashtable never shrinks */
                        return "hashtab unexpectedly shrank";