--- res_musiconhold.c.orig 2009-02-06 12:30:10.000000000 +0300 +++ res_musiconhold.c 2009-02-06 12:30:53.000000000 +0300 @@ -601,8 +601,7 @@ } res = 8 * MOH_MS_INTERVAL; /* 8 samples per millisecond */ } - if (AST_LIST_EMPTY(&class->members)) - continue; + /* Read mp3 audio */ len = ast_codec_get_len(class->format, res); @@ -625,6 +624,9 @@ continue; } + if (AST_LIST_EMPTY(&class->members)) + continue; + pthread_testcancel(); ao2_lock(class);