Hi Rony,

Ok you forced it out of me ;)  I have tried  out C++ recursive mutexes and
they definitely break with the current code as any normal termination of a
Rexx interpreter instance hangs due to the negative lock count. I don't
recall the details  100% but I'm fairly confident this actually prevents
the build from completing as there are some places where a Rexx interpreter
is spun up during the build and these hang as well.

Kind Regards,
Dom




On Mon, 27 Oct 2025, 11:03 Rony G. Flatscher, <[email protected]>
wrote:

> Dear Dom:
> On 26.10.2025 17:53, [email protected] wrote:
> ... cut ..
>
>
>
> The patch as it stands carries out an extra lock release in
> InterpreterInstance::terminate whether it needs to or not just to deal with
> the case where an extra one is actually needed because a new activity was
> created. For cases where it is not needed this extra unlock theoretically
> leads to the lock count becoming negative. The locks we currently use are
> forgiving of and ignore this but it is still wrong, and  were we ever to
> switch to using different  locks (e.g. C++ recursive_mutexes – which I *
> *might** have tested locally) or should future operating system releases
> be less forgiving this imbalance could causes deadlocks or other errors
> when interpreter instances shutdown “normally” (i.e. without the extra
> activity creation)
>
> Hmm, what would you think would have happened if you had tested e.g. C++
> recursive_mutexes [1], would have everything continued to work in ooRexx,
> i.e. would the test suite have passed?
> ;)
>
> Best regards
>
> ---rony
>
> [1]
> <https://prodevelopertutorial.com/c-11-feature-c-multithreading-tutorial-recursive-mutex-in-c-threading/>
> <https://prodevelopertutorial.com/c-11-feature-c-multithreading-tutorial-recursive-mutex-in-c-threading/>
>
>
> _______________________________________________
> Oorexx-devel mailing list
> [email protected]
> https://lists.sourceforge.net/lists/listinfo/oorexx-devel
>
_______________________________________________
Oorexx-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/oorexx-devel

Reply via email to