package hack_parallel
Install
Dune Dependency
Authors
Maintainers
Sources
sha256=4ebcdd0c0b23735228d13bbf401799174771a747a5aeb4f35b64dcfc68079e29
md5=26aff6c969020c1d2f588c574dc7d08a
doc/hack_parallel.utils/Lock/index.html
Module Lock
* Copyright (c) 2015, Facebook, Inc. * All rights reserved. * * This source code is licensed under the BSD-style license found in the * LICENSE file in the root directory of this source tree. An additional grant * of patent rights can be found in the PATENTS file in the same directory. *
* Basic lock operations. * * We use these for two reasons: * 1. making sure we are only running one instance of hh_server per person on a given dev box * 2. giving a way to hh_client to check if a server is running.
val register_lock : SMap.key -> Unix.file_descr
val _operations : SMap.key -> Unix.lock_command -> bool
* Grab or check if a file lock is available. * * Returns true if the lock is/was available, false otherwise.
val grab : SMap.key -> bool
* Grabs the file lock and returns true if it the lock was grabbed
val release : SMap.key -> bool
* Releases a file lock.
val blocking_grab_then_release : SMap.key -> unit
val fd_of : SMap.key -> int
* Gets the server instance-unique integral fd for a given lock file.
val check : SMap.key -> bool
* Check if the file lock is available without grabbing it. * Returns true if the lock is free.