Date: Mon, 8 Jun 2015 20:16:16 -0400
   From: "Micah Brodsky" <micah...@csail.mit.edu>

   Saying "don't rely on it, it's not documented" in reference to an
   essential service is basically saying "our system is an unfinished
   toy, we're sorry you decided to use it".

That is basically true of the thread system at least.

I've reverted the change, and added a WITH-THREAD-MUTEX-LOCK that is
just a dynamic-wind of LOCK-THREAD-MUTEX/UNLOCK-THREAD-MUTEX, which
already rejected recursion.

(The revert could conceivably be cherry-picked into the release-9.2
branch for a 9.2.1 release.)

I still strongly advise designing your locks to avoid recursion: in
almost all cases it will make reasoning about and understanding your
program easier; in the few cases that remain you probably need other
semantics anyway.

_______________________________________________
MIT-Scheme-devel mailing list
MIT-Scheme-devel@gnu.org
https://lists.gnu.org/mailman/listinfo/mit-scheme-devel

Reply via email to