package hack_parallel

  1. Overview
  2. Docs
Parallel and shared memory library

Install

Dune Dependency

Authors

Maintainers

Sources

1.0.0.tar.gz
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. *

val lock_fds : (Unix.file_descr * Unix.stats) SMap.t ref

* 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.

OCaml

Innovation. Community. Security.