2016-01-05 12:59 GMT+01:00 Max Leske <maxleske@gmail.com>:
What I don���t quite understand is why Monitor doesn���t use Semaphore>>critical:. If it did that, then there wouldn���t be a problem. The problem only exists because #wait and #signal are explicitly sent by the monitor.

Monitor is reentral which means that two recursive critical sections in same process should not be blocked. This logic implemented in #enter and #exit methods