This file is indexed.

/usr/share/doc/liblwt-ocaml-dev/api/Lwt_mutex.html is in liblwt-ocaml-doc 2.4.3-4.

This file is owned by root:root, with mode 0o644.

The actual contents of the file can be viewed below.

  1
  2
  3
  4
  5
  6
  7
  8
  9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 50
 51
 52
 53
 54
 55
 56
 57
 58
 59
 60
 61
 62
 63
 64
 65
 66
 67
 68
 69
 70
 71
 72
 73
 74
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<link rel="stylesheet" href="style.css" type="text/css">
<meta content="text/html; charset=iso-8859-1" http-equiv="Content-Type">
<link rel="Start" href="index.html">
<link rel="previous" href="Lwt.html">
<link rel="next" href="Lwt_mvar.html">
<link rel="Up" href="index.html">
<link title="Index of types" rel=Appendix href="index_types.html">
<link title="Index of exceptions" rel=Appendix href="index_exceptions.html">
<link title="Index of values" rel=Appendix href="index_values.html">
<link title="Index of class attributes" rel=Appendix href="index_attributes.html">
<link title="Index of class methods" rel=Appendix href="index_methods.html">
<link title="Index of classes" rel=Appendix href="index_classes.html">
<link title="Index of class types" rel=Appendix href="index_class_types.html">
<link title="Index of modules" rel=Appendix href="index_modules.html">
<link title="Index of module types" rel=Appendix href="index_module_types.html">
<link title="Lwt_condition" rel="Chapter" href="Lwt_condition.html">
<link title="Lwt_list" rel="Chapter" href="Lwt_list.html">
<link title="Lwt" rel="Chapter" href="Lwt.html">
<link title="Lwt_mutex" rel="Chapter" href="Lwt_mutex.html">
<link title="Lwt_mvar" rel="Chapter" href="Lwt_mvar.html">
<link title="Lwt_pool" rel="Chapter" href="Lwt_pool.html">
<link title="Lwt_sequence" rel="Chapter" href="Lwt_sequence.html">
<link title="Lwt_stream" rel="Chapter" href="Lwt_stream.html">
<link title="Lwt_switch" rel="Chapter" href="Lwt_switch.html">
<link title="Lwt_util" rel="Chapter" href="Lwt_util.html">
<link title="Lwt_pqueue" rel="Chapter" href="Lwt_pqueue.html">
<link title="Lwt_lib" rel="Chapter" href="Lwt_lib.html">
<link title="Lwt_glib" rel="Chapter" href="Lwt_glib.html">
<link title="Lwt_preemptive" rel="Chapter" href="Lwt_preemptive.html">
<link title="Lwt_event" rel="Chapter" href="Lwt_event.html">
<link title="Lwt_signal" rel="Chapter" href="Lwt_signal.html">
<link title="Lwt_react" rel="Chapter" href="Lwt_react.html">
<link title="Lwt_ssl" rel="Chapter" href="Lwt_ssl.html">
<link title="Lwt_text" rel="Chapter" href="Lwt_text.html">
<link title="Lwt_term" rel="Chapter" href="Lwt_term.html">
<link title="Lwt_read_line" rel="Chapter" href="Lwt_read_line.html">
<link title="Lwt_top" rel="Chapter" href="Lwt_top.html">
<link title="Lwt_chan" rel="Chapter" href="Lwt_chan.html">
<link title="Lwt_daemon" rel="Chapter" href="Lwt_daemon.html">
<link title="Lwt_gc" rel="Chapter" href="Lwt_gc.html">
<link title="Lwt_io" rel="Chapter" href="Lwt_io.html">
<link title="Lwt_log" rel="Chapter" href="Lwt_log.html">
<link title="Lwt_main" rel="Chapter" href="Lwt_main.html">
<link title="Lwt_process" rel="Chapter" href="Lwt_process.html">
<link title="Lwt_throttle" rel="Chapter" href="Lwt_throttle.html">
<link title="Lwt_timeout" rel="Chapter" href="Lwt_timeout.html">
<link title="Lwt_unix" rel="Chapter" href="Lwt_unix.html">
<link title="Lwt_sys" rel="Chapter" href="Lwt_sys.html">
<link title="Lwt_engine" rel="Chapter" href="Lwt_engine.html">
<link title="Lwt_bytes" rel="Chapter" href="Lwt_bytes.html">
<link title="Pa_lwt" rel="Chapter" href="Pa_lwt.html">
<link title="Pa_lwt_log" rel="Chapter" href="Pa_lwt_log.html"><title>Lwt_mutex</title>
</head>
<body>
<div class="navbar"><a class="pre" href="Lwt.html" title="Lwt">Previous</a>
&nbsp;<a class="up" href="index.html" title="Index">Up</a>
&nbsp;<a class="post" href="Lwt_mvar.html" title="Lwt_mvar">Next</a>
</div>
<h1>Module <a href="type_Lwt_mutex.html">Lwt_mutex</a></h1>

<pre><span class="keyword">module</span> Lwt_mutex: <code class="code"><span class="keyword">sig</span></code> <a href="Lwt_mutex.html">..</a> <code class="code"><span class="keyword">end</span></code></pre><div class="info module top">
Cooperative locks for mutual exclusion<br>
</div>
<hr width="100%">

<pre><span id="TYPEt"><span class="keyword">type</span> <code class="type"></code>t</span> </pre>
<div class="info ">
Type of Lwt mutexes<br>
</div>


<pre><span id="VALcreate"><span class="keyword">val</span> create</span> : <code class="type">unit -> <a href="Lwt_mutex.html#TYPEt">t</a></code></pre><div class="info ">
<code class="code">create ()</code> creates a new mutex, which is initially unlocked<br>
</div>

<pre><span id="VALlock"><span class="keyword">val</span> lock</span> : <code class="type"><a href="Lwt_mutex.html#TYPEt">t</a> -> unit <a href="Lwt.html#TYPEt">Lwt.t</a></code></pre><div class="info ">
<code class="code">lock mutex</code> lockcs the mutex, that is:
<p>
<ul>
<li>if the mutex is unlocked, then it is marked as locked and
        <a href="Lwt_mutex.html#VALlock"><code class="code"><span class="constructor">Lwt_mutex</span>.lock</code></a> returns immediatly</li>
</ul>
<ul>
<li>if it is locked, then <a href="Lwt_mutex.html#VALlock"><code class="code"><span class="constructor">Lwt_mutex</span>.lock</code></a> waits for all threads waiting on
        the mutex to terminate, then it resumes when the last one
        unlocks the mutex</li>
</ul>

      Note: threads are wake up is the same order they try to lock the
      mutex<br>
</div>

<pre><span id="VALunlock"><span class="keyword">val</span> unlock</span> : <code class="type"><a href="Lwt_mutex.html#TYPEt">t</a> -> unit</code></pre><div class="info ">
<code class="code">unlock mutex</code> unlock the mutex if no threads is waiting on
      it. Otherwise it will eventually removes the first one and
      resumes it.<br>
</div>

<pre><span id="VALis_locked"><span class="keyword">val</span> is_locked</span> : <code class="type"><a href="Lwt_mutex.html#TYPEt">t</a> -> bool</code></pre><div class="info ">
<code class="code">locked mutex</code> returns whether <code class="code">mutex</code> is currently locked<br>
</div>

<pre><span id="VALis_empty"><span class="keyword">val</span> is_empty</span> : <code class="type"><a href="Lwt_mutex.html#TYPEt">t</a> -> bool</code></pre><div class="info ">
<code class="code">is_empty mutex</code> returns <code class="code"><span class="keyword">true</span></code> if they are no thread waiting on
      the mutex, and <code class="code"><span class="keyword">false</span></code> otherwise<br>
</div>

<pre><span id="VALwith_lock"><span class="keyword">val</span> with_lock</span> : <code class="type"><a href="Lwt_mutex.html#TYPEt">t</a> -> (unit -> 'a <a href="Lwt.html#TYPEt">Lwt.t</a>) -> 'a <a href="Lwt.html#TYPEt">Lwt.t</a></code></pre><div class="info ">
<code class="code">with_lock lock f</code> is used to lock a mutex within a block scope.
      The function <code class="code">f ()</code> is called with the mutex locked, and its
      result is returned from the call to . If an exception
      is raised from f, the mutex is also unlocked before the scope of
       is exited.<br>
</div>
</body></html>