Newbie questions about Pliant

Newbie questions about Pliant

On database locks

Message posted by maybe Marcus on 2002/05/27 19:13:49
The Pliant engine documentation mentions that locks have been implemented
in the system. What kind of lock, precisely?
Message posted by maybe Hubert Tonneau on 2002/05/27 19:53:27
The main Pliant locks are semaphores (Sem Pliant data type) implemented in
module /pliant/language/schedule/sem.pli

There are several kind of semaphores in facts, with different capabilities:

FastSem    very fast to aquire or release, no 'readonly' locking: good for locking
           objects you are using for only a fiew processor cycles.

Sem        the standard one.

NestedSem  the same thread can lock it several times (locks/unlocks must be nested)
           without deadlocking.

NamedSem   a kind of dictionary of semaphores.

ResouceSem the same is configure with a given number (describing the resouce)
           and each lock with consume a given amount, returning only when the
           given amount is available.