Lisp HUG Maillist Archive

mp / cooperative locking=

Hi,

I am new to using mp package. Perhaps I can't see the forest for the
trees. I wish the following:

1. Only one process must execute function foo at a time.
2. Function bar must not execute while foo is executing.
3. Function foo must not execute while bar is executing.
4. As long as no foo is running an arbitrary number of processe may
execute bar in parallel.

I can achieve 1 - 3 with a lock held by either foo or bar. But how can I
achieve 4.?

Thanks

Andreas




Updated at: 2020-12-10 08:48 UTC