Page 1 of 1

Semaphore code?

Posted: Thu Jan 05, 2017 7:34 pm
by empowerg
Hi there,

I get often assertions when using Drumgizmo in MusE, and it's always the same:

Code: Select all

sem_timedwait(): Interrupted system call
muse3: ../src/semaphore.cc:152: bool Semaphore::wait(const milliseconds&): Assertion `false' failed.
Aborted (core dumped)
I had a brief look at the code and sem_timedwait checks only for ETIMEDOUT and not for EINTR, as seems to be the case here. Is this intentionally? Normal operation in system programming would be to check for EINTR, recalculate the time in that case and then call sem_timedwait again.

So wouldn't that be better? It would prevent quite some crashes inside MusE.

lg,
Michael

Re: Semaphore code?

Posted: Sat Jan 07, 2017 4:19 pm
by deva
@empowerg: We have just pushed a fix the drumgizmo git master. Could you test it with muse to verify that it actually fixes the problem?
http://cgit.drumgizmo.org/drumgizmo/com ... ab49f94889