[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Possible issue with mutexes
From: |
Herwig Hochleitner |
Subject: |
Re: Possible issue with mutexes |
Date: |
Wed, 10 Apr 2019 05:11:36 +0200 |
On 4/10/19 4:57 AM, Herwig Hochleitner wrote:
Hello,
I've recently created a semaphore type, based on mutex and condition
vars, for controlling parallelism in an elisp processor.
The project went well, so far, but now that I attempted to pull out
this semaphore implementation and create a test for it, I've noticed
behavior, that leads me to believe, that emacs' thread and mutex
guarantees might not hold in all cases.
When running the [test
case](https://github.com/webnf/semaphore.el/blob/306d5a84b99526213c3a7d367f8d8041961ea52a/test/emacs-semaphore-test.el),
you would expect `test/semaphore/active-count` to be 0 at the end of a
run, right? For me, it's wildly inconsistent at the end of a run and
seems to become desynchronized among worker threads. In this [example
run](https://hastebin.com/wigiwizabi.log) from my machine, it happens
to settle at 10.
Am I doing this wrong, somehow?
If not, could somebody help me file a report? First post on this ML ...
kind regards
Argh .. found the bug in my code.
Sorry for the spam!
Since we are here already, let me ask you about this other issue, I had:
Waiting on a condition var or joining a thread on the main thread can
freeze emacs totally dead. Like kill -9 dead.
Is this a known issue or should I investigate further?