package hack_parallel

  1. Overview
  2. Docs
Legend:
Library
Module
Module type
Parameter
Class
Class type

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