Hi all,

  I have been trying to resolve a problem in the OSX build; the
linuxsampler test (in src/testcases) did not pass. I noticed this issue
only recently after I finally installed cppunit on my machine.

  The problem seemed to be caused by the implementation of pthread in
OSX. It looks like OSX does not have PTHREAD_CANCEL_ASYNCHRONOUS cancel
type, although pthread_setcanceltype() does not result in an error. As a
workaround, I inserted calls to pthread_testcancel() here and there, and
now the cppunit test passes, and linuxsampler looks behaving better.

  Instead of putting the added code within #if __APPLE__ ... #endif, I
added a new config option (--enable-pthread-testcancel) and enabled it
for the OSX build. I hope I did not break anything in other platforms,
but if I screwed up anything sorry about it.

  As a side effect, voice stealing now seems to be working correctly
(previously it was not working, presumably because the thread of the
running voice was not properly canceled). On the other hand, there are
still issues under high-load conditions (noises, etc.) I will continue
to look into it. Any inputs are welcome!

  Regards,

  Toshi Nagata





-------------------------------------------------------------------------
This SF.net email is sponsored by: Microsoft
Defy all challenges. Microsoft(R) Visual Studio 2008.
http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/
_______________________________________________
Linuxsampler-devel mailing list
Linuxsampler-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/linuxsampler-devel

Reply via email to