package hack_parallel
Install
Dune Dependency
Authors
Maintainers
Sources
md5=ba7c72bc207e326b72e294fc76f6ad2c
sha512=5020d47f97bea2f88e2a40411894d03232a7f2282606926c93c7d4c96d72e94a966be852897a9b16f7e0893ba376512045abb9d93020a7c03c3def4f3d918f8e
doc/hack_parallel.interface/Hack_parallel_intf/Std/Lock/index.html
Module Std.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.