aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--TODO8
-rw-r--r--docs/index.html20
2 files changed, 16 insertions, 12 deletions
diff --git a/TODO b/TODO
index 6465b06..0f41160 100644
--- a/TODO
+++ b/TODO
@@ -26,11 +26,3 @@ can be loaded with a standard call to Lua’s require function. "
26 luaL_argcheck(L_, (_mod_type == LuaType::TABLE) || (_mod_type == LuaType::FUNCTION), 2, "unexpected module type"); 26 luaL_argcheck(L_, (_mod_type == LuaType::TABLE) || (_mod_type == LuaType::FUNCTION), 2, "unexpected module type");
27 Full userdata is rejected, not accepted. 27 Full userdata is rejected, not accepted.
28 However, PopulateFuncLookupTable handles the USERDATA case, so this has to be investigated more. 28 However, PopulateFuncLookupTable handles the USERDATA case, so this has to be investigated more.
29
30 ---
31 Minor / Misleading Issues
32
33 - lanes.genlock() blocking acquire: Doc says "always returns true when block-waiting" — but doesn't mention that a cancelled lane returns lanes.cancel_error, not true.
34 - "closing" status: This transient status exists in threadStatusString() but is not mentioned in the doc's status list (the code comment calls it "not observable from the outside", but it technically can be
35 seen in a race condition).
36 - lanes.sleep() with nil: The doc notes default is 0 (context switch), but nil to receive() elsewhere means infinite — the asymmetry is not explained.
diff --git a/docs/index.html b/docs/index.html
index 750c35a..c9a85ac 100644
--- a/docs/index.html
+++ b/docs/index.html
@@ -1096,11 +1096,23 @@
1096 <tr> 1096 <tr>
1097 <td /> 1097 <td />
1098 <td> 1098 <td>
1099 <tt>
1100 "closing"
1101 </tt>
1102 </td>
1103 <td />
1104 <td>
1105 Happens only inside a <tt>join()</tt>/indexation call to unblock a suspended <a href="#coroutines">coroutine</a> lane so that it can join properly. In theory not observable by lanes client code, but who knows.
1106 </td>
1107 </tr>
1108 <tr>
1109 <td />
1110 <td>
1099 <tt>"waiting"</tt> 1111 <tt>"waiting"</tt>
1100 </td> 1112 </td>
1101 <td /> 1113 <td />
1102 <td> 1114 <td>
1103 Waiting at a <a href="#lindas">linda</a> <tt>:receive()</tt> or <tt>:send()</tt> 1115 Waiting at a <a href="#lindas">linda</a> <tt>:receive()</tt> or <tt>:send()</tt>.
1104 </td> 1116 </td>
1105 </tr> 1117 </tr>
1106 <tr> 1118 <tr>
@@ -1110,7 +1122,7 @@
1110 </td> 1122 </td>
1111 <td /> 1123 <td />
1112 <td> 1124 <td>
1113 Finished executing (results are ready) 1125 Finished executing (results are ready).
1114 </td> 1126 </td>
1115 </tr> 1127 </tr>
1116 <tr> 1128 <tr>
@@ -1120,7 +1132,7 @@
1120 </td> 1132 </td>
1121 <td /> 1133 <td />
1122 <td> 1134 <td>
1123 Met an error (reading results will propagate it) 1135 Met an error (reading results will propagate it).
1124 </td> 1136 </td>
1125 </tr> 1137 </tr>
1126 <tr> 1138 <tr>
@@ -1792,7 +1804,7 @@
1792<p> 1804<p>
1793 The generated function acquires M tokens from the N available, or releases them if the value is negative. The acquiring call will suspend the lane, if necessary. Use <tt>M=N=1</tt> for a critical section lock (only one lane allowed to enter). 1805 The generated function acquires M tokens from the N available, or releases them if the value is negative. The acquiring call will suspend the lane, if necessary. Use <tt>M=N=1</tt> for a critical section lock (only one lane allowed to enter).
1794 <br /> 1806 <br />
1795 When passsing <tt>"try"</tt> as second argument when acquiring, then <tt>lock_func</tt> operates on the <a href="#lindas">linda</a> with a timeout of 0 to emulate a TryLock() operation. If locking fails, <tt>lock_func</tt> returns <tt>false</tt>. <tt>"try"</tt> is ignored when releasing (as it it not expected to ever have to wait unless the acquisition/release pairs are not properly matched). 1807 When passing <tt>"try"</tt> as second argument when acquiring, then <tt>lock_func</tt> operates on the <a href="#lindas">linda</a> with a timeout of 0 to emulate a TryLock() operation. If locking fails, <tt>lock_func</tt> returns <tt>false</tt>. <tt>"try"</tt> is ignored when releasing (as it it not expected to ever have to wait unless the acquisition/release pairs are not properly matched).
1796 <br /> 1808 <br />
1797 Upon successful lock/unlock, <tt>lock_func</tt> returns <tt>true</tt> (always the case when block-waiting for completion). 1809 Upon successful lock/unlock, <tt>lock_func</tt> returns <tt>true</tt> (always the case when block-waiting for completion).
1798</p> 1810</p>