--- cvsroot/libcoro/coro.c 2008/11/10 04:37:23 1.42 +++ cvsroot/libcoro/coro.c 2008/11/16 00:55:41 1.43 @@ -343,6 +343,9 @@ { pthread_cond_signal (&next->cv); pthread_cond_wait (&prev->cv, &coro_mutex); +#if __FreeBSD__ /* freebsd is of course broken and needs manual testcancel calls... yay... */ + pthread_testcancel (); +#endif } void