module Ldap_mutex: sig
.. end
functions for implementing mutexes on top of LDAP's built in test
and set mechanism. In order to use this module you must load
mutex.schema, which is an rfc2252 format schema file. raised when
a mutex operation fails. The string argument contains the name of
the method which failed, and the exception contains details about
what failed.
exception Ldap_mutex of string * exn
functions for implementing mutexes on top of LDAP's built in test
and set mechanism. In order to use this module you must load
mutex.schema, which is an rfc2252 format schema file. raised when
a mutex operation fails. The string argument contains the name of
the method which failed, and the exception contains details about
what failed.
class type mutex_t = object
.. end
the class type of a single mutex, used for performing
advisory locking of some action
class type object_lock_table_t = object
.. end
the class type of an object lock table which allows for advisory
locking of objects by dn
class mutex : string list -> string -> string -> string ->
object
.. end
new mutex ldapurls binddn bindpw mutexdn
val apply_with_mutex : mutex -> (unit -> 'a) -> 'a
used to apply some function, first locking the mutex, unlocking it
only after the function has been applied. If the function
generates any exception, this wrapper catches that exception, and
unlocks the mutex before reraising the exception. Generally
garentees that the mutex will always be used consistantly when
performing an action.
class object_lock_table : string list -> string -> string -> string ->
object
.. end
new object_lock_table ldapurls binddn bindpw mutexdn