--- res_musiconhold.c.orig 2006-06-03 10:02:49.000000000 -0700 +++ res_musiconhold.c 2006-08-06 15:22:01.332444000 -0700 @@ -45,7 +45,9 @@ #endif #include #include - +#ifdef SOLARIS +#include +#endif #include "asterisk.h" ASTERISK_FILE_VERSION(__FILE__, "$Revision: 31775 $") @@ -493,6 +495,9 @@ } } if (class->pseudofd > -1) { +#ifdef SOLARIS + thr_yield(); +#endif /* Pause some amount of time */ res = read(class->pseudofd, buf, sizeof(buf)); pthread_testcancel();